2016-06-15 18 views
1

私はここで尋ねる前にしばらく探していました。他の人がこの問題を解決したことを願っています。依存関係のある2つのNugetパッケージを作成する

同じソリューションで2つの異なるプロジェクトからナゲットパッケージを作成する際に問題があります。 1つのプロジェクトは別のプロジェクトに依存しています。プレリリース版を作成しようとすると、依存するプロジェクトのナゲットパッケージは、リリースされたパッケージに依存します。ここで

セットアップです:

プロジェクトBプロジェクトへの内部リファレンスを持っている
Solution 
    Project A 
     a.nuspec 
    Project B 
     b.nuspec 

。 私は、コマンドを実行すると、私はから b.nuspec結果nupkgは次のようになります

nuget pack b.nuspec -IncludeReferencedProjects -Properties Configuration=Release -version 8.1.0-beta0003 

<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd"> 
    <metadata> 
     <id>project b</id> 
     <version>8.1.0-beta0000</version> 
     <dependencies> 
      <dependency id="project a" version="8.1.0.0" /> 
     </dependencies> 
    </metadata> 
</package> 

a.nuspec からの結果nupkg:

<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd"> 
    <metadata> 
     <id>project a</id> 
     <version>8.1.0-beta0000</version> 
     <dependencies> 
     </dependencies> 
    </metadata> 
</package> 

プロジェクトbには、プロジェクトaのリリース前の依存関係はありません。

どうしてですか?

内部参照の依存関係を持つナゲットパッケージを構築するための適切な設定は何ですか?

答えて

1

私はここで同じ問題を持っていますが、この問題では、説明を見つけた: https://github.com/NuGet/Home/issues/1795

$バージョン$トークンが常に が構築されたアセンブリのバージョンからの交換です。 -Versionスイッチを指定すると、 のバージョン要素の内容が上書きされ、 $ version $トークンに新しい値は提供されません。あまりにもこのスレッドから

、解決策は、あなたのコマンドラインにこれ​​を追加することです:

-Properties "PackageVersion=1.0.0-beta1" 

そしてあなた.nuspecファイルで、代わりに$バージョン$

のどこにでも$PackageVersion$を使用してそれをテストしていない、私は私のケースのために私のバージョン番号を取得する方法はまだわからないが、私はそれが助けることを願っています。

関連する問題