2017-06-23 15 views
2

正如问题所述,如何使用dotnet pack打包多个项目/程序集?使用dotnet pack打包多个程序集

使用VS2017与新的csproj文件。

+0

你想把它们打包成一个.nupkg吗?或者你想要一个.nupkg每个项目? –

+0

我的意思是一个nuget包? –

回答

3

我已经深入研究了这个问题,唯一让我工作的方法是制作我自己的nuspec文件。我使用dotnet构建-C版本来构建单个项目,并使用我的nuspec文件将多个程序集拉入到1程序包中。

不幸的是,似乎dotnet pack的主要想法是将每个项目与单独的dll关联。如果你有多个项目,这个想法是打包每个项目,并仍然依赖于软件包引用。

1

包括,如果你想将大会从您的解决方案,你可以以同样的方式做到这一点,但要排除依赖于另一个NuGet包使用PrivateAssets你的csproj文件

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

还需要哪些组件标签

<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

相关问题