当我查看MVC6的教程时,我对project.json的使用感到困惑。据我了解,此文件用于指定项目依赖项。
在ASP.NET 5之前,我们使用nuget来管理依赖项。但是从一些有限的MVC6样本中我看到我不再看到人们提到package.config
了。
请帮助我理解:
nuget
升级所有依赖组件?project.json
答案 0 :(得分:10)
根据我的理解,[project.json]用于指定项目依赖项。
是。 project.json
的主要功能之一是管理服务器端依赖项。 (它还指定了其他项目特定设置。)有关详细信息,请参阅the project.json file。
在ASP.NET 5之前,我们使用nuget来管理依赖项。
是的。而且,ASP.NET 5仍然使用NuGet来管理依赖项。但配置有所不同。我们使用packages.config
>而不是project.json
。 dependencies
列出我们项目的NuGet包(以及其他本地依赖项。)
...从一些有限的MVC6样本中我看到我不会再看到人们提到package.config了。
是的再次。 ASP.NET 5在package.config
>中列出了所有依赖项,包括NuGet包,而不是project.json
。 dependencies
。这些依赖项可以是NuGet包,本地程序集或本地项目。
为了对此进行扩展,在Visual Studio中,References文件夹反映了我们的project.json
> dependencies
部分。我们添加到另一个中的内容将出现在另一个中。 See server-side dependency management
在某些方面,您可以将References文件夹视为project.json
>的GUI视图。 dependencies
。例如,这是我的一个项目与References文件夹一起的dependencies
部分。
fx/
中不属于dependencies
的内容。
我们是否仍然使用nuget升级所有依赖组件?
是即可。我们只是用不同的方式。如果我们将一个NuGet包添加到我们的project.json - 手动或通过GUI的包管理器 - 那么我们将使用NuGet提要恢复/更新那些包。
或者[我们]必须手动修改project.json吗?
否即可。您可以手动修改project.json,但有两种主要方法可以添加NuGet包。您使用的是个人偏好。
重要的是,您通过GUI执行的操作将反映在project.json文件中,以及您对project.json
>所做的操作dependencies
将反映在GUI中。
答案 1 :(得分:3)
我们是否仍然使用
nuget
升级所有依赖组件?
简短的回答是肯定的。
我们必须手动修改project.json吗?
你也可以这样做。
你真的可以做任何你想要的事情:
您可以使用nuget包管理器UI。
您可以通过Package Manager Console
。
或者,您甚至可以通过修改project.json
来添加,删除,更改依赖关系,Package Manager Console
具有非常好的自动完成功能,如*.csproj
。
现在唯一的区别是项目文件中没有提及已安装的软件包(之前为packages.config
),因此您不必像我们一样手动添加引用有{{1}}。
答案 2 :(得分:1)
我们是否仍然使用nuget升级所有依赖组件
不,您只需手动添加版本即可。大多数IDE和代码编辑器都支持在project.json文件中自动完成nuget依赖。
有关project.json文件的更多信息:https://github.com/aspnet/Home/wiki/Project.json-file(可能有点过时)。
有关DNX依赖关系的更多信息:http://docs.asp.net/en/latest/dnx/overview.html?highlight=project#dependencies