【问题标题】:Rename in Post-Build Event when Deploying Web-Role to Azure将 Web 角色部署到 Azure 时在构建后事件中重命名
【发布时间】:2015-05-05 10:16:07
【问题描述】:

我有一个大型 WCF 项目,它由许多子项目(Web 角色的网站、后端、WPF 客户端、客户端库等)构成。每个项目都有 3 个配置文件:

  • app.config - 用于本地测试
  • app.release.config - 带有生产服务地址
  • app.test.config - 带有测试服务器的服务地址

根据当前解决方案配置(调试/发布/测试)使用构建后事件重命名这些文件。所以不同项目中的构建后事件看起来像这样(除了在 web-role 项目中它是“web.config”而不是“app.config”):

if not "Release"=="$(ConfigurationName)" goto :nocopyrelease
del "$(TargetPath).config"
copy "$(ProjectDir)\App.release.config" "$(TargetPath).config"
:nocopyrelease

if not "Test"=="$(ConfigurationName)" goto :nocopytest
del "$(TargetPath).config"
copy "$(ProjectDir)\App.test.config" "$(TargetPath).config"
:nocopytest

当我构建这些项目时,重命名是根据当前的构建配置完成的,并且一切都按预期工作,所以我确信构建事件就像现在一样正常。但是,一旦我发布到 azure 或打包其中包含 Web 角色的“Azure 云服务”,当我检查 csx-Folder 或 cspkg-Package 的内容时,重命名就不会完成。

在发布到 Azure 时,我是否可以根据所选的构建配置使用不同的配置?到目前为止,我所做的是在发布之前重命名所有项目中的配置文件。但这是一项相当烦人的任务,而且容易出错。必须有更好的方法...

我认为让它与解决方案配置和构建事件一起使用是最简单的方法,因为在测试/调试/发布之间的下拉列表中更改解决方案配置将处理所有配置重命名,如果它工作正常。

【问题讨论】:

    标签: c# wcf azure azure-web-roles post-build-event


    【解决方案1】:

    您将构建后事件放在哪里?

    您需要将 Post-Build Event 放在您的云服务上,而不是您的 WCF 项目上,请参阅随附的屏幕截图:

    右键单击>属性>构建事件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      相关资源
      最近更新 更多