visual-studio-2010 - 像在 AfterBuild 中一样实现 BeforePublish

标签 visual-studio-2010 msbuild msbuild-task

我有两个应用程序配置文件(app.debug.config 和 app.production.config),我找到了根据当前构建配置名称将配置文件复制到输出文件夹的解决方案:

 <Target Name="AfterBuild">
    <Delete Files="$(TargetDir)$(TargetFileName).config" />
    <Copy SourceFiles="$(ProjectDir)\App.$(Configuration).config" DestinationFiles="$(TargetDir)$(TargetFileName).config" />
  </Target>

因此,例如在选择(生产)构建配置后,MSbuild 将自动复制 app.production.config 并将其重命名为输出文件夹中的 projectname.config。

不幸的是,发布的情况不同, 因为当我将项目发布到网络服务器时,配置文件没有发布。

如何执行相同的发布任务?

最佳答案

我找到了解决方案,我将以下内容添加到项目文件中:

  <ItemGroup>
    <CustomConfigFile Include="$(ProjectDir)\App.$(Configuration).config">
      <Visible>False</Visible>
    </CustomConfigFile>
  </ItemGroup>
<Target Name="BeforePublish">
<CreateItem Include="@(CustomConfigFile)" AdditionalMetadata="TargetPath=$(TargetFileName).config;IsDataFile=false">
      <Output TaskParameter="Include" ItemName="_DeploymentManifestFiles" />
    </CreateItem>
</Target>

关于visual-studio-2010 - 像在 AfterBuild 中一样实现 BeforePublish,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14479963/

相关文章:

msbuild - 使用 msbuild 命令行在指定路径中发布网站

msbuild - 如何从控制台输出中隐藏我在MSBuild Exec任务中使用的命令?

.net - global.asax 在本地计算机上工作,但在我发布到服务器后不起作用

c# - 签署 ILMerge 的 DLL

c++ - 结构中字段对齐的奇怪行为

.net - 选择要构建的 .Net Framework 的哪个 Service Pack

windows - 参见 .exe 的 std::cout

msbuild - 将构建标识为依赖项目引用

visual-studio-2010 - 如何在 Visual Studio 中生成 Object(.obj) 文件

c++ - 来自具有多个模板参数的模板化类的单个方法的模板特化