ASP.NET 5和MVC6中的project.json

har*_*ang 5 asp.net-core-mvc asp.net-core

当我查看MVC6的教程时,我对project.json的用法感到困惑.据我了解,此文件用于指定项目依赖项.

在ASP.NET 5之前,我们使用nuget来管理依赖项.但是从一些有限的MVC6样本我看到我不再看到人们提到package.config了.

请帮我理解:

  • 我们是否仍然使用nuget升级所有依赖组件?
  • 或者我们必须project.json手动修改?

Sha*_*tin 10

据我所知[project.json]用于指定项目依赖项.

是.其中一个主要功能project.json是管理服务器端依赖项.(它还指定了其他项目特定设置.)有关详细信息,请参阅project.json文件.

在ASP.NET 5之前,我们使用nuget来管理依赖项.

是的,再次.而且,ASP.NET 5仍然使用NuGet来管理依赖项.但配置有所不同.而不是使用packages.config我们使用project.json> dependencies来列出我们项目的NuGet包(和其他本地依赖项).

...从我看过的一些有限的MVC6样本中我看不到人们再提起package.config了.

是的,再次.而不是package.config,ASP.NET 5在project.json>中列出所有依赖项,包括NuGet包dependencies.这些依赖项可以是NuGet包,本地程序集或本地项目.

为了扩展这一点,在Visual Studio中,References文件夹反映了我们的project.json> dependencies部分.我们添加到另一个中的内容将出现在另一个中.请参阅服务器端依赖关系管理.

在某些方面,您可以将References文件夹视为project.json> 的GUI视图dependencies.例如,以下是dependencies我的一个项目与References文件夹一起的部分.

  • 请注意project.json和References文件夹中列出的内容之间的一对一对应关系(忽略fx/不存在的内容dependencies).
  • 请注意引用列出的项旁边的图标.这些指示引用是项目,NuGet包(蓝色)还是程序集.

依赖项对应于引用

我们是否还使用nuget升级所有依赖组件?

是的.我们只是用不同的方式.如果我们将一个NuGet包添加到我们的project.json - 手动或通过GUI的包管理器 - 那么我们将使用NuGet提要恢复/更新那些包.

或者[我们]我们必须手动修改project.json?

.您可以手动修改project.json,但有两种主要方法可以添加NuGet包.您使用的是个人偏好.

  1. 手动编辑project.json文件.
  2. 使用Visual Studio GUI.
  3. 使用Visual Studio代码GUI.

重要的是,您通过GUI执行的操作将反映在project.json文件中,您所做的操作project.json> dependencies将反映在GUI中.