.NET完整框架的SDK样式.csproj

Mr *_*ies 8 .net visual-studio

有谁知道为什么在创建新的.NET完整框架项目时,Visual Studio(版本15.9.2)仍使用旧样式的.csproj文件?

为了解决这个问题,在创建新的完整框架项目时,我创建了一个.NET核心项目,然后只需将.csproj中的TargetFramework标记编辑为目标net472(例如),从而利用了新的简化结构。

有人看到这种方法有问题吗?

Rob*_*Rob 11

至于原因,这里是 GitHub 问题的摘录,其中涵盖了其中的一些内容(添加对 ASP.NET(非核心)项目的支持 #2670),尽管特定于有关 ASP.NET 的问题,而不是 .NET Framework 项目一般来说:

老实说,我认为短期内(今年)不会发生这种情况。在我们将它们引入旧项目之前,有很多问题需要解决 SDK 项目和新项目系统。这些问题甚至与 ASP.NET 没有任何关系,因此需要做很多工作才能将 ASP.NET 的东西移植到新的项目系统中,这很重要,例如旧的 razor 编辑器、aspx 编辑器, webforms 设计器??、构建系统(WAP 项目有一个混合的 msbuild + 构建管理器构建系统),以及 System.Web 需要的任何其他怪癖。由于旧的项目系统是本机的,因此其中一些组件是用本机代码编写的。

所有这一切都表明,这不是简单的开关,而是同一组人在新的和现有的项目系统上工作。当 SDK 项目几乎完美无缺时,我会考虑将其引入下层项目。

简短版本:新的项目系统还不够成熟,还不能转移所有内容,而且这不会是一件小事。

还有关于您可以在同一解决方案中混合新旧项目的问题的评论(这对您来说可能不是问题,但对其他人来说值得一提):

我们无法移动,因为我们甚至无法开始移动解决方案。我们不能将东西移到新系统上的库中并以任何合理的方式迁移,因为构建系统不会同时构建两者。

如果它对您有用,那很好,但它不受支持,而且您肯定会遇到一些陷阱。