首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nuget packages.config和特定版本

Nuget packages.config和特定版本
EN

Stack Overflow用户
提问于 2012-03-01 21:06:22
回答 2查看 10.3K关注 0票数 8

我正在尝试按照这个指南http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package从我的项目中创建一个Nuget包

我已经成功地创建了nuspec和nupkg。我的项目包含一个对Json.NET的依赖,它是我通过Nuget安装的。但是,我希望指定要使用的Json.NET的特定版本,版本4.0.7。我在我的nuspec中添加了以下内容:

代码语言:javascript
复制
<dependencies>
  <dependency id="Newtonsoft.Json" version="[4.0.7]" />
</dependencies>

当我运行nuget pack时,它似乎检测到我有一个packages.config

代码语言:javascript
复制
Using 'MyProject.nuspec' for metadata.
Found packages.config. Using packages listed as dependencies.

这似乎完全忽略了我在nuspec中定义的依赖项,因为安装Nuget包会列出依赖项>= 4.0.7,这会拉入最新版本4.0.8。

我如何才能停止这一点,或者最好让Nuget从packages.config中拉入依赖关系,但又允许我覆盖特定的依赖关系?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-01 22:14:26

我也遇到了同样的问题。您需要像这样定义一个确切的版本

代码语言:javascript
复制
<dependencies>
<dependency id="Newtonsoft.Json" version="[4.0.7,4.0.7]" />
</dependencies>

因此,这将确保当项目引入依赖项时,它将是= 4.0.7,而不是>= 4.0.7

票数 19
EN

Stack Overflow用户

发布于 2012-03-02 01:54:12

您指定版本的方式是正确的;正如我们的versioning docs中所示,1.0意味着“version == 1.0”。你所描述的行为可能是一个bug,但我不能重现这个bug。我做了什么:

在包资源管理器中的.nuspec

  • Exec'd nuget pack

  • Opened

package中创建了一个类库,并添加了通过

  • Json.NET via NuGet (它安装了4.0.8)的

  • <dependencies><dependency id="Newtonsoft.Json" version="[4.0.7]" />;它在一个新项目中将依赖项显示为'= 4.0.7'

  • Installed my

  • ‘;它将依赖项显示为'= 4.0.7’并安装了4.0.7

也许您使用的不是最新版本的nuget.exe或NuGet Visual Studio扩展?当你说“列出依赖项”时,你是从哪里看到的?在包资源管理器中或其他地方安装包时?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9516749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档