我可以看到一些UWP项目有project.json文件,所有NuGet包条目都包含在project.json中。但是一些UWP项目没有project.json。 NuGet包条目包含在.csproj文件中。为什么呢?
答案 0 :(得分:2)
在开发.NET Core工具的早期阶段 project.json (由ASP.NET Core团队开发)被认为是管理NuGet包的更好方法,但后来决定撤回出于各种原因 .csproj 。所以现在UWP正在存储 .csproj 中包的引用,因为它也使用.NET Core。您可以阅读更多here和here。
修改强>
如果我理解正确,在 .csproj 中管理软件包需要Visual Studio 2017,而VS 2015只能理解 project.json 。这就是为什么,默认情况下,如果你在VS 2017中创建UWP项目,它将添加 project.json 以向后兼容VS 2015(除非你定位2015年不支持的Creators Update)
但是,即使您在VS 2017中创建没有 project.json 的项目并降低其TargetPlatformVersion,它仍然可以工作,但仅限于VS 2017.所以决定使用项目.json ,您应该决定是否要支持VS 2015。
This discussion可能会更清楚。