5

我想知道是否可以完全根据构建配置(调试/发布)构建不同的安装程序,其中包含一个部署项目的不同文件?

我想这样做是因为:

  1. 在调试阶段,我们想在测试机器上安装一些额外的调试文件(*.pdb)以及二进制文件,以便如果出现任何问题,我们可以知道发生了什么
  2. 在发布阶段,我们不希望用户拥有这些调试文件。而且我们不想让它成为用户安装 *pdb 的选项 - 他们中的大多数人不知道这些文件的用途,并且为他们选择只会引起混淆

我目前面临的困难:

  1. 我尝试打开部署项目文件 (*.vdproj),它与 ​​CSharp 等其他类型的项目非常不同。部署项目文件不是 XML,我似乎无法编写如下内容:.
  2. 我检查了微软的网站: http: //msdn.microsoft.com/en-us/library/cz6k1z02%28v=vs.80%29.aspx没有与构建配置相关的部署条件。
  3. 由于我想根据构建配置设置条件,我想项目文件至少应该能够告诉当前选择的配置是什么。但是,用于部署的配置管理器非常简单——我只能更改输出、打包、压缩和安装 URL。我似乎无法为其他类型的项目(例如 CSharp)定义任何其他宏
4

1 回答 1

0

只是为了增加我的两分钱,我在我的 WPF 项目中也有类似的需求。对于在输出文件夹 /bin/ 中正确生成的不同构建配置(调试、QA 和发布),我有不同的 .config 文件

我注意到主输出的输出文件从正确的配置文件夹(即 /bin/Release)列出了我的 .exe 文件,但是 .config 文件来自项目的根目录(App.config),然后重命名为我的项目名称.

所以,为了解决这个问题,我:

  1. 创建了一个构建后事件以将我的生成器 .config 文件复制到名为 ConfigDeploy 的文件夹中。

    COPY /Y $(TargetDir)$(TargetFileName).config $(SolutionDir)ConfigDeploy\$(TargetFileName).config

  2. 通过右键单击我的主输出项,转到“属性”并在“ExcludeFilter”中设置“*.config”过滤器,从主输出中忽略了我的 .config 文件

在此处输入图像描述

  1. 在“Program Files Folder/MyApplication”中为我的 .config 文件创建了一个文件条目,该条目指向 ConfigDeploy 文件夹中的文件

至于 .pdb 文件,它更简单。您只需要添加一个项目输出并选择 Debug Symbols 然后指向您需要的配置

在此处输入图像描述

于 2018-02-22T18:18:58.240 回答