[英]No reference for successfully installed NuGet package in a .NET 4.5.2 project
[英]A Nuget package copies the static files from its reference project when installed
我有一个名为“A”的项目,它包含一些 static 文件(如 dll 或其他文件)。
它的 csproj 如下
<ItemGroup>
<ContentWithTargetPath Include="files\MyDll.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<TargetPath>MyDll.dll</TargetPath>
</ContentWithTargetPath>
</ItemGroup>
<ItemGroup>
<Content Include="files\MyDll.dll">
<PackageCopyToOutput>true</PackageCopyToOutput>
<PackagePath>contentFiles\any\any\;content\any\any</PackagePath>
</Content>
</ItemGroup>
所以根据内容,无论我使用项目参考还是package参考参考A,static文件将始终复制到output文件夹中。
然后我有一个名为“B”的项目,它使用项目引用来引用 A。
B的csproj部分如下:
<ItemGroup>
<ProjectReference Include="..\..\A\A.csproj"/>
</ItemGroup>
现在我将 B 设为 Nuget package 并由 C 项目(包参考)引用。
但是来自 A 的 static 文件似乎没有出现在 C 的 output 文件夹中。
有什么办法处理吗?
谢谢!
contentFiles 节点无法从 nuget 依赖项A到主项目C中工作。 在我多次测试下,这是一个相当大的问题。
似乎contentfFiles节点无法将依赖项从 nuget 转移到主项目。
解决方法之一是将nuget A额外安装到项目 C中。
===========================
并且解决方法可能不是那么方便,或者您可以将这些添加到项目 B 中,这样我们就不应该另外安装 nuget A:
1)将这些添加到项目B.csproj
文件中:
<ItemGroup>
<None Include="$(TargetDir)\MyDll.dll">
<Pack>true</Pack>
<PackagePath>contentFiles\any\any\;content\any\any</PackagePath>
<PackageCopyToOutput>true</PackageCopyToOutput>
</None>
</ItemGroup>
然后,重新打包您的项目 B。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.