直接使用。
因此,以前我们使用NUSPEC文件(nuget pack myproj.nuspec
)调用Nuget Pack。NUSPEC看起来像这样:
<package>
<metadata>
<version>$version$</version>
[more properties]
<dependencies>
<dependency id="MySubProj" version="$version$" />
[more explicit dependencies]
</dependencies>
</metadata>
</package>
我将呼叫切换到( nuget pack myproj.csproj
),因此我们总是会自动生成的始终淘汰的显式依赖。
一切都很好,除了现在完成的NUSPEC像
<package>
<metadata>
<version>1.2.3.4</version>
[more properties]
<dependencies>
<dependency id="MySubProj" version="0.0.0.0" />
[more explicit dependencies]
</dependencies>
</metadata>
</package>
虽然MySubProj的正确版本也将是1.2.3.4。
更多信息:
- MySubProj是一个在同一解决方案中的项目
- 它被捆绑到一个单独的nuget软件包
- mysubproj nuget软件包的版本以及捆绑DLL的版本是正确的。
我没有得到我真的做错了什么,为什么使用NUSPEC直接与CSPROJ:/
使用CSPROJ与NUSPEC结合在一起时似乎是一个非常古老的错误(Nuget 3.5仍然存在)...
使此工作的一种方法是添加额外的属性
<package>
<metadata>
<version>$version$</version>
[more properties]
<dependencies>
<dependency id="MySubProj" version="$PackageVersion$" />
[more explicit dependencies]
</dependencies>
</metadata>
</package>
然后更新您的命令
NuGet.exe pack myproject.csproj -Version 1.2.3.4 -Properties "PackageVersion=1.2.3.4"
它不是那么干净,但可以工作。