【问题标题】:Visual Studio 2008 XDT (Config Transform) on build构建时的 Visual Studio 2008 XDT(配置转换)
【发布时间】:2014-01-08 11:33:01
【问题描述】:

我在 Visual Studio 2008 中为几个不同的客户端维护一个 webforms 应用程序。每个客户端都有自己单独的 web.config 文件。我们在部署时使用了配置转换,效果很好。

目前有许多开发人员正在从事此项目,并且在开发每个开发人员时都需要具有特定客户端的配置值。现在,我们正在做的是,我们每个人在本地都有自己的 web.config 版本,我们只是尽量小心不要签入 web.config 文件。

这种方法当然有几个缺点。我们需要手动执行此操作,这很烦人,我们需要非常小心不要检查配置文件,因为这可能会给其他开发人员带来麻烦,向配置添加新值很麻烦,等等。

我想在从 Visual Studio 构建时转换配置文件,因此我们可以选择从哪个文件获取配置值,而无需手动编辑 web.config。

我已经在网上寻找了一段时间,但到目前为止我发现的最好的东西是: http://www.codeproject.com/Articles/399002/Project-Build-Web-config-transformation

这对我不起作用,它给了我一个构建错误,说它无法复制 Web.config_output 因为文件丢失。

【问题讨论】:

    标签: asp.net visual-studio-2008 configuration-files xdt-transform xdt


    【解决方案1】:

    默认情况下,SlowCheetah 和其他配置转换技术等工具使用$(Configuration) 来确定要应用的转换的名称。您可以获取slowcheetah.targets 文件并对其进行编辑以获取$(username),如果您在Visual Studio 中构建,它将获取登录用户名的标准窗口。当'$(BuildingInsideVisualStudio)'='true' 时,您可以使用条件来应用更改。

    这将要求您对 MsBuild 目标文件进行一些工作,但最终结果是您的开发人员可以签入 web.jesse.houwing.config(在我的情况下)并且该文件在那里,他们的转换将被应用而不是标准的发布或调试转换。

    至于好的起点,请看SlowCheetah

    【讨论】:

    • 我基于 $(Configuration) 进行转换没有问题,因为配置取决于我们正在为其开发的客户端,而不是进行编码的开发人员。每个客户拥有一个并不是那么糟糕,但我也无法做到这一点。对于 vs2008,Slowchetah 不可用。
    • 由于 Slowcheetah 只是一组 MsBuild 目标和一个 MsBuild 任务,您应该能够使用它,即使 Visual Studio 插件不起作用,转换也会
    猜你喜欢
    • 2011-11-26
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 2015-08-05
    • 2010-10-09
    • 1970-01-01
    • 2011-06-05
    相关资源
    最近更新 更多