Kabua
Kabua

Reputation: 1019

How to include a local DLL reference in to a nuget package when calling msbuild pack?

We have several projects that need to include a few static DLL. Therefore the project files include code like this:

   <ItemGroup>
     <Reference Include="..\_Solutions\dependencies\abc123.dll" />
     <Reference Include="..\_Solutions\dependencies\def456.dll" />
     <Reference Include="System.Web" />
   </ItemGroup>

Expected:

We expected that the two dlls; abc123.dll and def456.dll would befound in the nupkg file.

Actual:

However, the nupkg doesn't include the abc123.dll nor the def456.dll files.

Upvotes: 8

Views: 5206

Answers (2)

Rolf Kristensen
Rolf Kristensen

Reputation: 19847

One can always include custom content in the nuget-package. Like this:

<ItemGroup>
  <Content Include="$(OutputPath)\ReferencedLib.dll">
    <Pack>true</Pack>
    <PackagePath>lib\$(TargetFramework)</PackagePath>
  </Content>
</ItemGroup>

If you target multiple frameworks:

<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>

Upvotes: 19

Joy
Joy

Reputation: 945

How to include a local DLL reference in to a nuget package when calling msbuild pack?

According the issue on the GitHub, this is currently not directly supported by NuGet.

The workaround I suggest is using the .nuspec file:

NuGet allows you to disable the automatic generation of the resulting .nuspec file and automatic collection of files by setting the property in your project, along with a property that allows you to pass replacement tokens for parsing the .nuspec file.

See Martin`s answer for details.

Upvotes: 0

Related Questions