使用 RMO,我创建了一个 Visual Studio 构建定义。在“复制文件”步骤中,如果我将内容指定为
**\*.zip
它会创建我编译的项目的 zip 文件以及 web.config 文件。我需要向此 zip 添加一些额外的配置文件,这些文件是解决方案级别文件夹,而不是在项目文件夹中。这 3 个文件在预构建事件中复制到项目文件夹中。所以我无法为这些文件设置 Build Action = Content。
最佳答案
您可以将以下代码添加到项目文件中,以在构建过程中将额外的文件包含在 zip 中:
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="PathToExtraFile" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
详细信息请参阅此链接:ASP.NET Web Deployment using Visual Studio: Deploying Extra Files
关于azure-devops - VSTS 构建定义 - 添加其他文件以构建输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36131714/