Sat*_*jit 5 nuget nuget-package visual-studio-2017
当我们在visual studio 2017中创建nuget包时,它默认将项目引用添加为另一个nuget引用.我们如何在创建包时禁用它,而是:
该PackageReference可被标记PrivateAssets="All",以确保包装时不会最终成为消费库的依赖的NuGet.然后,使用库可以使用自定义目标将文件添加到构建的nuget包.该csproj文件的完整示例可能如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);IncludeP2PAssets</TargetsForTfmSpecificBuildOutput>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\testprivatelib\testprivatelib.csproj" PrivateAssets="All" />
</ItemGroup>
<Target Name="IncludeP2PAssets">
<ItemGroup>
<BuildOutputInPackage Include="$(OutputPath)\testprivatelib.dll" />
</ItemGroup>
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
testprivatelib.csproj构建DLL的项目在哪里,您希望另外包含到该.nupkg文件中,而不是为该引用的项目发布额外的NuGet包.
指定不同的NuGet包更加困难.它需要手动创建一个.nuspec文件来打包NuGet包.您可以在https://github.com/dasMulli/nuget-include-p2p-example/tree/master/LibA上看到如何完成此操作的示例- LibA.csproj设置为LibA.nuspec在dotnet pack调用时使用.
| 归档时间: |
|
| 查看次数: |
1785 次 |
| 最近记录: |