如题所述.net framework 4.5的框架编写的软件,怎么用.net core 框架替代。官方文档中对于移植问题说的不甚明白,也不详细,网上搜索的解决办法也凤毛麟角,希望大神们解惑,小弟拜谢!
其实官方文档中已经说得比较全面了,只是全是英文阅读的有点不顺
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的
官方文档,我已经看过了,只不过本人本身是学JAVA的,接触.net 平台才一个星期,只是理解了C#基础和了解C#进阶部分,用的工具是VS2017也是了解一部分,望可以看懂官方文档,并且可以实现代码的大大们给予指导啊!
@对象不是老婆: 我以前也是迁移.net framework深知迁移的痛苦,我和你一样一开始迁移的时候,对.net接触才几个星期。所以build报错,一脸懵逼,根本不知道该用什么去代替.net framework。没办法先查文档
这是.net core2.0的文档,去搜索框里搜索相应的类或者函数在哪里。
https://msdn.microsoft.com/zh-cn/library/92t2ye13.aspx
这是.net framework的文档,我一般都是两个文档对比着看,根据需要看看那些变动在哪里。
如果还是解决不了,那就来博问提问,博问里面有很多精通.net core和.net framework的,一般都能得到解答。
@Shendu.cc: 我以前重来没做过移植项目的,这次赶上了,可以好好自我学习学习,谢谢你的回答,请问你用过官方文档中的Portability Analyzer插件没有?是不是只要把Portability Analyzer上没有匹配的类库解决了,就可以完成代码部分了,再去修改一下配置,后端就搞定了?
@对象不是老婆: 就我目前掌握的知识来看,应该是的。
@Shendu.cc: 谢了
对于类库项目,只需将 .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>
就是一个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 %
这些不匹配的类库怎么操作,官方文档中提到的类库重定向怎么实现?
拜谢
迁移都有工具支持,对于熟练的到没啥阻碍,但是对api不熟悉还是很有挑战
请问那些工具呢?API的确不熟悉,请教一下
@对象不是老婆: 我公众号里发过好几篇 .net 迁移到.net core的文章,你可以用微信搜索 opendotnet公众号里的.net迁移为关键词