C#新版本风格项目文件(SDK风格项目 SDK-style project)

本文介绍了C#新版本风格的SDK风格项目文件,对比了它与旧版.NetFramework项目文件的区别,如简化引用管理、支持多目标框架等。并详细讲解了如何迁移项目,包括处理AssemblyInfo冲突、Nuget引用方式变化等问题,同时提供了迁移工具try-convert的使用建议。
摘要由CSDN通过智能技术生成
C#新版本风格项目文件(SDK风格项目 SDK-style project)

在VisualStudio中创建NetCore以上版本的项目,使用的都是新版本风格的项目文件。
和旧版本.NetFramework版本的项目文件区别:

  1. 双击项目可直接打开csproj文件进行编辑配置
  2. 项目文件内容的改变
  3. 项目属性文件夹图标更改
  4. 项目引用去除,改成依赖项
  5. Nuget包引用区别
  6. 新版C#语法支持
  7. 多目标框架版本支持

其中最大的区别可以说是引用的改变,
在旧版本的项目文件中,项目所有的引用(dll/nuget/com/项目)全部糅杂在一起(后续有个版本会用图标区别nuget,但是有bug),对人来说很不友好。
并且nuget包的引用全部保存在项目的packages.config文件中,但是包还原时却是还原在解决方案文件(sln)同目录的packages目录下,导致大型项目有多个解决方案同时引用一个项目时导致包路径错误的问题。

对比如图,很明显,新版本的项目文件依赖项更加简洁明了。

旧版风格项目引用对比

并且除了依赖项,如果你用记事本打开过.csproj文件,你会发现.NetFramework版本的项目文件内容非常多,他把整个项目的文件引用都记录在其中,并且还有大量MSBuild相关的编译配置等。

但是在新版风格(NetCore)的项目文件中,大大减少,文件默认使用文件系统引用,不再显示记录在csproj文件中,这样可以解决以前增删了代码文件而没提交项目文件导致的编译错误,并且使得项目文件可以很容易的手动修改各种配置。

各种优点都说完了,但是很多人会疑问,这是NetCore风格的项目文件,并不是所有.NetFramework的项目都可以升级为Core,无须担心,即使是.NetFramework也可以使用新版的项目文件,只需要安装了NetCore或者更高版本的SDK就行,最后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值