2017-06-23 6 views
2

質問と同じように、dotnet packを使用して複数のプロジェクト/アセンブリをパックするにはどうすればよいですか?dotnet packで複数のアセンブリをパックする

新しいcsprojファイルでVS2017を使用する。

+0

1つの.nupkgにパックしますか?またはプロジェクトごとに1つの.nupkgが必要ですか? –

+0

私は1つのナゲットパッケージを意味しますか? –

答えて

3

私は深さでこれを行うに見てきた、と私は物事が働いてしまった唯一の方法は、私自身のnuspecファイルを作ることでした。私はdotnet build-releaseを使って個々のプロジェクトをビルドし、nuspecファイルを使って複数のアセンブリを1つのパッケージにまとめました。

は、残念ながらそれはそうです、DOTNETパックとの大きなアイデアは、別のDLLで各プロジェクトを関連付けることでした。複数のプロジェクトを持っている場合は、それぞれのプロジェクトをパックし、依然としてパッケージ参照に依存することが考えられます。

1

csprojファイルに何が必要かのアセンブリを含める

<ItemGroup> 
    <Content Include="bin\Release\net46\Newtonsoft.Json.dll"> 
     <PackagePath>lib\net46\</PackagePath> 
     <Pack>true</Pack> 
    </Content> 
    </ItemGroup> 

また、あなたのソリューションからアセンブリを含めたい場合は、同じ方法でこれを行うことができますが、別のnugetパッケージの使用にPrivateAssetsを依存性を排除するためにタグ

<ItemGroup> 
    <Content Include="bin\Release\net46\My.Contracts.dll"> 
     <PackagePath>lib\net46\</PackagePath> 
     <Pack>true</Pack> 
    </Content> 
    </ItemGroup> 

    <ItemGroup> 
    <ProjectReference Include="My.Contracts.csproj"> 
     <PrivateAssets>all</PrivateAssets> 
    </ProjectReference> 
    </ItemGroup> 
+0

これは私にとって完璧に機能しました、ありがとうございました! – IGx89

関連する問題