问题描述
在将 .NET 项目编译成 NUGET 包时,如果项目引用了其它 dll 文件,则可能出现这个警告,如果不处理,Nuget 包中可能无法正确引用所添加的 dll 。
处理方式
在项目 .csproj 文件中添加如下内容:
<ItemGroup>
<Content Include="lib\*.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<PackagePath>.\lib\$(TargetFrameworks)</PackagePath>
</Content>
</ItemGroup>
<Content Include="lib\*.dll">
中的 lib
是项目中自定义的文件夹,这里的意思就是,将项目中 lib 文件夹下所有的 dll 文件,在生成时,其 PackagePath
都设置到 Nuget 包中的 .\lib\$(TargetFrameworks)
目录下。
$(TargetFrameworks)
指编译目标框架,如 net45
,最终,将在 Nuget 包的输出目录中,得到项目生成的 dll 和所引用的 dll 。