使用 RMO,我创建了一个 Visual Studio 构建定义。在复制文件步骤中,如果我将内容指定为
**\*.zip
它会创建我编译项目的 zip 文件以及 web.config 文件。我需要在这个 zip 中添加一些额外的配置文件,它们是解决方案级别的文件夹,而不是项目文件夹中。这 3 个文件在预构建事件中被复制到项目文件夹中。所以我不能为这些文件设置 Build Action = Content。
使用 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>
有关详细信息,请参阅此链接:使用 Visual Studio 进行 ASP.NET Web 部署:部署额外文件