带有版本参数和依赖项的nuget打包

带有版本参数和依赖项的nuget打包,nuget,Nuget,我在使用nuget打包新包时遇到了一个问题,即当我通过命令行指定版本时,它会将其应用于包,而不是依赖项。即 NuGet.exe包myproject.csproj-版本3.0.4.3373 使用nuspec文件 <?xml version="1.0"?> <package> <metadata> <id>MyProject</id> <version>$version$</version>

我在使用nuget打包新包时遇到了一个问题,即当我通过命令行指定版本时,它会将其应用于包,而不是依赖项。即

NuGet.exe包myproject.csproj-版本3.0.4.3373

使用nuspec文件

<?xml version="1.0"?>
<package>
<metadata>
    <id>MyProject</id>
    <version>$version$</version>
    <authors>Me</authors>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>A description.</description>
    <copyright>Copyright 2014</copyright>
    <dependencies>
        <dependency id="My.First.Dependency" version="[$version$]" />
        <dependency id="My.Second.Dependency" version="[$version$]" />
    </dependencies>
</metadata>
</package>

我的项目
$version$
我
假的
描述。
版权所有2014
结果生成一个版本为3.0.4.3373的包,但依赖项都以1.0.0.0的形式编写,这不是我想要的。我希望它们是相同的版本


我这里出了什么问题。我肯定我以前做过这个。我想我已经为此使用了nuget.exe的2.5和2.8版本。

在使用csproj和nuspec(nuget 3.5仍然存在)的组合时,这似乎是一个非常老的错误

使其工作的一种方法是添加一个额外的属性

<?xml version="1.0"?>
<package>
<metadata>
    <id>MyProject</id>
    <version>$version$</version>
    <authors>Me</authors>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>A description.</description>
    <copyright>Copyright 2014</copyright>
    <dependencies>
        <dependency id="My.First.Dependency" version="[$PackageVersion$]" />
        <dependency id="My.Second.Dependency" version="[$PackageVersion$]" />
    </dependencies>
</metadata>
</package>
它没有那么干净,但可以工作。

看起来像的副本,但没有足够的权限来标记它。。所以我也在下面加上了答案
NuGet.exe pack myproject.csproj -Version 3.0.4.3373 -Properties "PackageVersion=3.0.4.3373"