首页 新闻 会员 周边

.NET Framework 怎么移植到 .net core

0
悬赏园豆:5 [已解决问题] 解决于 2018-03-28 17:18

  如题所述.net framework 4.5的框架编写的软件,怎么用.net core 框架替代。官方文档中对于移植问题说的不甚明白,也不详细,网上搜索的解决办法也凤毛麟角,希望大神们解惑,小弟拜谢!

对象不是老婆的主页 对象不是老婆 | 菜鸟二级 | 园豆:316
提问于:2018-03-27 11:19
< >
分享
最佳答案
0

其实官方文档中已经说得比较全面了,只是全是英文阅读的有点不顺

https://docs.microsoft.com/en-us/aspnet/core/migration/proper-to-2x/

其实迁移就是想各种办法,让.net framework的项目跑在.net core项目下面。难的地方,就的代码中属于.net framework中的功能,在.net core中不知道变成什么了,也不知道是不是被删减了,所以需要自己慢慢查找官方文档,或者去博问里面问问题。第一步就是上面的官方文档里的改变target framework和project structure 然后才是根据老项目,一个一个去替换引用,将.net framework中的引用和功能全都换成.net core的

收获园豆:5
Shendu.CC | 老鸟四级 |园豆:2138 | 2018-03-27 11:36

官方文档,我已经看过了,只不过本人本身是学JAVA的,接触.net 平台才一个星期,只是理解了C#基础和了解C#进阶部分,用的工具是VS2017也是了解一部分,望可以看懂官方文档,并且可以实现代码的大大们给予指导啊!

对象不是老婆 | 园豆:316 (菜鸟二级) | 2018-03-27 11:43

@对象不是老婆: 我以前也是迁移.net framework深知迁移的痛苦,我和你一样一开始迁移的时候,对.net接触才几个星期。所以build报错,一脸懵逼,根本不知道该用什么去代替.net framework。没办法先查文档

https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.httpcontext.user?view=aspnetcore-2.0#Microsoft_AspNetCore_Http_HttpContext_User

这是.net core2.0的文档,去搜索框里搜索相应的类或者函数在哪里。

https://msdn.microsoft.com/zh-cn/library/92t2ye13.aspx

这是.net framework的文档,我一般都是两个文档对比着看,根据需要看看那些变动在哪里。

如果还是解决不了,那就来博问提问,博问里面有很多精通.net core和.net framework的,一般都能得到解答。

Shendu.CC | 园豆:2138 (老鸟四级) | 2018-03-27 11:47

@Shendu.cc: 我以前重来没做过移植项目的,这次赶上了,可以好好自我学习学习,谢谢你的回答,请问你用过官方文档中的Portability Analyzer插件没有?是不是只要把Portability Analyzer上没有匹配的类库解决了,就可以完成代码部分了,再去修改一下配置,后端就搞定了?

对象不是老婆 | 园豆:316 (菜鸟二级) | 2018-03-27 11:54

@对象不是老婆: 就我目前掌握的知识来看,应该是的。

Shendu.CC | 园豆:2138 (老鸟四级) | 2018-03-27 11:58

@Shendu.cc: 谢了

对象不是老婆 | 园豆:316 (菜鸟二级) | 2018-03-27 12:01
其他回答(2)
1

对于类库项目,只需将 .csproj 替换为下面的内容,然后添加所需的项目引用与nuget包引用并一个一个地修复build错误

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
</Project>

Web项目稍微复杂一些,除了将 .csproj 替换为下面的内容,还要添加 Program.cs 与 Startup.cs ,还要把静态资源 css/js 移到到 wwwroot 文件夹中。。。

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
</Project>
dudu | 园豆:30979 (高人七级) | 2018-03-27 11:31

就是一个web项目,相当于公司网站的后台管理系统,我根据官方文档提示,用Portability Analyzer插件测试了项目,得出:

Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null (.NETFramework,Version=v4.0)

56.18 %

service, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null (.NETFramework,Version=v4.0)

93.52 %

这些不匹配的类库怎么操作,官方文档中提到的类库重定向怎么实现?

拜谢

支持(0) 反对(0) 对象不是老婆 | 园豆:316 (菜鸟二级) | 2018-03-27 11:39
0

迁移都有工具支持,对于熟练的到没啥阻碍,但是对api不熟悉还是很有挑战

张善友 | 园豆:557 (小虾三级) | 2018-03-29 08:52

请问那些工具呢?API的确不熟悉,请教一下

支持(0) 反对(0) 对象不是老婆 | 园豆:316 (菜鸟二级) | 2018-03-29 08:56

@对象不是老婆: 我公众号里发过好几篇 .net 迁移到.net core的文章,你可以用微信搜索 opendotnet公众号里的.net迁移为关键词

支持(0) 反对(0) 张善友 | 园豆:557 (小虾三级) | 2018-03-29 11:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册