对于Visual Studio 2010基于Web的应用程序,我们具有Config Transformation功能,通过该功能,我们可以为不同的环境维护多个配置文件.但是,对于Windows Services/WinForms或控制台应用程序,App.Config文件无法使用相同的功能.
这里提供了一种解决方法:将XDT魔术应用于App.Config.
然而,它并不简单,需要许多步骤.有没有更简单的方法来实现相同的app.config文件?
app-config .net-4.0 visual-studio web-config-transform slowcheetah
我需要在同一个虚拟文件夹中安装多个Web安装项目(使用VS2005和ASP.Net/C#).这些项目共享一些程序集引用(文件系统都被构造为使用相同的"bin"文件夹),因此部署对这些程序集的更改会出现问题,因为如果当前安装的版本比以前安装的版本旧,则MS安装程序将仅覆盖程序集. MSI.
我并不是说悲观的安装方案是错误的 - 只是它在我给予的环境中产生了问题.由于有相当数量的通用程序集和大量开发人员可能会更改通用程序集但忘记更新其版本号,因此尝试手动管理版本控制最终会导致安装时出现大量混淆.
在这个问题的另一面,同样重要的是不要自发更新版本号并在每次安装时替换所有通用程序集,因为这可能(暂时至少)模糊实际更改的情况.
也就是说,我正在寻找的是只有在程序集成分(代码模块,资源等)实际已经发生变化的情况下才更新程序集版本信息(最好使用MSBuild)的方法.
我已经发现了一些引用是至少部分相关这里(MSDN上的AssemblyInfo任务)和这里(类似于我所需要的,但两年多岁,没有一个明确的解决方案).
我的团队也使用TFS版本控制,因此自动化解决方案应该包括在构建期间可以检出/输入AssebmlyInfo的方法.
任何帮助将非常感激.
提前致谢.
我正在使用Visual Studio 2013 项目安装程序扩展。在我的安装程序项目中,我选择使用另一个项目(称为程序项目)的主要输出。PP 是一个控制台应用程序,有一个 app.config,其中包含使用此配置扩展的转换文件。使用各种配置构建 PP 可以正确获取变换值。但是,即使我选择了正确的配置文件来与 PP 的输出一起使用,我的安装程序项目也不会获取正确的转换值。相反,它仅获取 PP 根 app.config 文件中的任何值。

它不是从应用程序获取值。调试.config。它正在使用 app.config 文件。