如何将旧的WinForms项目迁移到新的VS2017项目格式

Rom*_*ler 10 .net c# winforms visual-studio-2017 msbuild-15

我们目前正在将项目升级到新的VS2017项目格式.这背后的主要原因是将一些库从PCL转换为.NetStandard,并且能够使用新项目格式附带的新内置Nuget Package功能,从而摆脱整个nuget /库引用/依赖问题.

[编辑]迁移解决方案中所有项目的主要原因是为了防止在混合旧(仍在使用.nuspec)和新格式项目时在.nupkg中无法获得正确依赖关系的问题

如何将Wpf项目迁移到新的VS2017格式的问题的答案帮助我们在转换项目的WPF部分方面做了很多工作.但是,我们仍然有大量的Windows窗体,无法替换或升级.

只需转换项目文件,为文件依赖项添加适当的设置(对于*.Designer.cs和*.resx文件),我们设法让它进行编译.

我们现在如何以一种方式声明项目项目以使Visual Studio 2017 a)将它们识别为UserControl或Form?b)打开WinForms设计器工具来相应地编辑.cs或Designer.cs文件?

非常感谢任何寻找解决方案的暗示.

Ore*_*tny 6

我不相信SDK风格的项目还支持各种设计师.虽然你可以让嵌套文件使用DependentUpon属性,但这就是它可以得到的.

也就是说,如果您的主要目标是使用新的NuGet功能并使用传递的NuGet引用,那么现有的项目系统现在支持这一点.

只需手动删除所有nuget包,然后删除该packages.config文件.然后你可能必须<RestoreProjectStyle>PackageReference</RestoreProjectStyle>在你的csproj中设置.执行此操作时,旧项目类型现在应使用PackageReferenceNuGet引用并执行传递还原.

请注意,只有包以这种方式传递,项目到项目引用不是,因此您需要p2p refs与之前相同.

  • 14个月后,这方面有什么进展吗? (2认同)