我正在尝试按照这个指南http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package从我的项目中创建一个Nuget包
我已经成功地创建了nuspec和nupkg。我的项目包含一个对Json.NET的依赖,它是我通过Nuget安装的。但是,我希望指定要使用的Json.NET的特定版本,版本4.0.7。我在我的nuspec中添加了以下内容:
<dependencies>
<dependency id="Newtonsoft.Json" version="[4.0.7]" />
</dependencies>当我运行nuget pack时,它似乎检测到我有一个packages.config
Using 'MyProject.nuspec' for metadata.
Found packages.config. Using packages listed as dependencies.这似乎完全忽略了我在nuspec中定义的依赖项,因为安装Nuget包会列出依赖项>= 4.0.7,这会拉入最新版本4.0.8。
我如何才能停止这一点,或者最好让Nuget从packages.config中拉入依赖关系,但又允许我覆盖特定的依赖关系?
发布于 2012-03-01 22:14:26
我也遇到了同样的问题。您需要像这样定义一个确切的版本
<dependencies>
<dependency id="Newtonsoft.Json" version="[4.0.7,4.0.7]" />
</dependencies>因此,这将确保当项目引入依赖项时,它将是= 4.0.7,而不是>= 4.0.7
发布于 2012-03-02 01:54:12
您指定版本的方式是正确的;正如我们的versioning docs中所示,1.0意味着“version == 1.0”。你所描述的行为可能是一个bug,但我不能重现这个bug。我做了什么:
在包资源管理器中的.nuspec
nuget pack
package中创建了一个类库,并添加了通过
<dependencies><dependency id="Newtonsoft.Json" version="[4.0.7]" />;它在一个新项目中将依赖项显示为'= 4.0.7'


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