Kab*_*buo 3 msbuild nuget-package
我们有几个项目需要包含一些静态 DLL。因此,项目文件包含如下代码:
<ItemGroup>
<Reference Include="..\_Solutions\dependencies\abc123.dll" />
<Reference Include="..\_Solutions\dependencies\def456.dll" />
<Reference Include="System.Web" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
预期的:
我们预计这两个dll;abc123.dll并且def456.dll会在 nupkg 文件中找到。
实际的:
然而,nupkg不包括abc123.dll也不是def456.dll文件。
Rol*_*sen 13
人们总是可以在 nuget-package 中包含自定义内容。像这样:
<ItemGroup>
<Content Include="$(OutputPath)\ReferencedLib.dll">
<Pack>true</Pack>
<PackagePath>lib\$(TargetFramework)</PackagePath>
</Content>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
如果您针对多个框架:
<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard1.6</TargetFrameworks>
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);IncludeReferencedProjectInPackage</TargetsForTfmSpecificContentInPackage>
</PropertyGroup>
<Target Name="IncludeReferencedProjectInPackage" Condition="'$(IncludeBuildOutput)' != 'false'">
<ItemGroup>
<TfmSpecificPackageFile Include="$(OutputPath)\ReferencedLib.dll" PackagePath="lib/$(TargetFramework)" />
</ItemGroup>
</Target>
Run Code Online (Sandbox Code Playgroud)
调用 msbuild pack 时如何将本地 DLL 引用包含到 nuget 包中?
根据GitHub 上的问题,目前 NuGet 不直接支持此功能。
我建议的解决方法是使用该.nuspec文件:
NuGet 允许您通过在项目中设置属性以及允许您传递用于解析 .nuspec 文件的替换标记的属性来禁用生成的 .nuspec 文件的自动生成和文件的自动收集。
详情请参阅马丁的回答。
| 归档时间: |
|
| 查看次数: |
2828 次 |
| 最近记录: |