在我工作的公司,当我们需要在项目中引用第三方dll时,我们会执行以下操作:
我们这样做是为了完全控制并确切知道我们正在使用哪些参考文献。
我的问题是如何在使用vnext时实现这一点,我们可以继续这样做吗?
已经看过“介绍:服务器上的.NET的未来”,似乎你列出了project.json文件中的所有依赖项,当你进行k恢复时,它会根据nuget配置文件中的feed进行全部下载
答案 0 :(得分:2)
您将使用project.json
文件。正如您所提到的,您列出了所有依赖项, K Package Manager 将为您解决丢失的软件包。
您会注意到在json文件中,您指定的包在某个键值对package:version
中。大多数示例都显示*
的版本,这意味着让我获得最新的。但是没有什么可以阻止您指定特定版本或版本的特定部分。例如,project.json file in the Autofac container of the DI project指定了特定版本的Autofac:
"dependencies": {
"Autofac": "3.3.0",
"Microsoft.Framework.DependencyInjection": ""
},
The main DI project指定Microsoft.Framework.ConfigurationModel
的特定种类版本:
"dependencies": {
"Microsoft.Framework.ConfigurationModel": "1.0.0-*"
},
那说给我最新版本的1.0.0
此系统允许您根据需要自动获取最新和最佳,但也指定特定版本以确保安全。没有理由将DLL复制到自定义lib文件夹中。
编辑:你激励我发表关于它的博客:http://davidzych.com/2014/08/13/specifying-package-dependency-versions-in-asp-net-vnext/
答案 1 :(得分:0)
注意到" - *"不一定会返回最新版本。它是我的简单测试,它总是返回最低的可用版本。根据此documentation,计算更复杂,并返回"工作的最低版本"。
编辑:添加了文档链接