C# Nuget pack无法识别依赖项中的$version$
因此,前面我们使用nuspec文件调用了nuget pack(C# Nuget pack无法识别依赖项中的$version$,c#,nuget,C#,Nuget,因此,前面我们使用nuspec文件调用了nuget pack(nuget pack myproj.nuspec)。nuspec看起来像这样: <package> <metadata> <version>$version$</version> [more properties] <dependencies> <dependency id="MySubProj" version="$versio
nuget pack myproj.nuspec
)。nuspec看起来像这样:
<package>
<metadata>
<version>$version$</version>
[more properties]
<dependencies>
<dependency id="MySubProj" version="$version$" />
[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>
虽然没有那么干净,但它很管用
<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"