我创建了一个Nuget包,其中我安装了其他引用的包。我还有一个包含多达100个图像文件的图像文件夹。如果我把它们放在内容文件夹中,它们会被复制到我安装nuget包的项目的根目录。
这是我的问题。拥有内容> Images> listoffiles时,每个项目最多需要30分钟才能将文件复制到根文件夹。我还需要在bin / debug和bin / release文件夹中使用它们,而不是项目的根目录。
有没有办法只将图像添加到lib文件夹中,以便它们位于包> lib> Images文件夹中,然后将它们复制到安装它的项目的bin / debug bin / release文件夹中?
答案 0 :(得分:0)
您所阐述的是需要仅在构建操作期间复制的静态内容文件。
更多information。
不幸的是,只有基于PackageReference的项目支持contentFiles文件夹, 但是你正在使用基于packages.config的项目。
好消息是你仍然可以通过使用构建目标实现这一目标!
首先将您的内容放入包中的任意随机文件夹
/mycontent/images/ListOfFiles
在构建文件夹中,您可以添加与包名称完全相同的目标文件。 例如:
build/MyPackage.targets
在该目标文件中,您可以使用一些MsBuild魔法来确保复制文件。
示例:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<OutputFiles Include="$(MSBuildThisFileDirectory)\..\mycontent\**\*"></OutputFiles>
</ItemGroup>
<Target Name="MyCopyFilesToOutputDirectory" BeforeTargets="Build">
<Copy SourceFiles="@(OutputFiles)" DestinationFolder="$(IntermediateOutputPath)" />
</Target>
</Project>
或者那些东西:) 请注意,我没有对此进行过测试,但它应该指向正确的方向。