我有一个Web项目,它有一个构建后事件,可以生成一些缩小的文件。暂时假设这需要保持 post - 构建事件,并且不能更改为预构建事件。
我已成功使用.wpp.targets文件打包其他文件:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<SourceRoot>$(BuildDirectory)\Sources\Web</SourceRoot>
</PropertyGroup>
<ItemGroup>
<FilesForPackagingFromProject Include="$(SourceRoot)\ExtraScripts\Normal.js">
<DestinationRelativePath>Scripts\%(RecursiveDir)%(FileName)%(Extension)</DestinationRelativePath>
<FromTarget>Web.wpp.targets</FromTarget>
</FilesForPackagingFromProject>
</ItemGroup>
</Project>
不幸的是,当我对构建后步骤生成的文件执行相同操作时,这会失败。这是因为CopyAllFilesToSingleFolderForMsdeploy
目标在构建之前执行。甚至在PrepareForBuild
目标之前。
在构建期间生成时,有没有办法在deploy包中添加额外的文件和文件夹?
答案 0 :(得分:2)
之前有一个类似的问题(Add Plugin DLL in MVC 4 Website after publish)。
只有在以前将文件作为项目的一部分时才能部署文件。
我们通常做的是将这些文件作为虚拟文件包含在我们的项目中,并在构建过程中覆盖它们。因为这些文件是项目的一部分,所以这种方法将发布这些文件。