使用 IncludeReferencedProjects 时设置 Nuget 包依赖项的确切版本

dav*_*nts 5 nuget nuget-package

我有一个包含多个项目的解决方案。每个项目都有自己的 nuspec 文件,并且某些项目相互引用

当我通过调用创建新包时

nuget pack MyLibrary.csproj -IncludeReferencedProject
Run Code Online (Sandbox Code Playgroud)

nuget 足够聪明,可以将任何引用的项目添加为依赖项,而不是引入生成的二进制文件,但它总是将依赖项版本设置为

version="1.2.3.4"
Run Code Online (Sandbox Code Playgroud)

被解释为 1.2.3.4 或更高版本

我希望能够告诉 nuget 将版本设置为

version="[1.2.3.4]"
Run Code Online (Sandbox Code Playgroud)

这样依赖关系总是准确的

有什么方法可以做到这一点,而无需手动更新和维护每个项目的 nuspec 文件中的依赖项?

小智 0

您需要做的是编写一个工具来打开生成的包、更改依赖关系限制并保存包。请注意,除非有充分的理由,否则不应设置上限。请参阅http://blog.davidebbo.com/2011/01/nuget-versioning-part-2-core-algorithm.html