用于预览配置文件转换的工具

Nat*_*lor 14 web-config configuration-files visual-studio-2010 slowcheetah

是否有任何工具或Visual Studio 2010扩展允许我查看配置文件转换的输出,而不必发布整个项目?执行转换的过程是否可以直接调用?


编辑

经过一番谷歌搜索,我发现了这个:

步骤4:从命令行为"Staging"环境生成新的转换后的web.config文件

通过转到开始 - >程序文件 - > Visual Studio v10.0 - > Visual Studio工具 - > Visual Studio 10.0命令提示符打开Visual Studio命令提示符

键入"MSBuild"应用程序项目文件的路径(.csproj/.vbproj)"/ t:TransformWebConfig/p:Configuration = Staging"并按Enter键,如下所示:

命令行web.config转换

转换成功后,"Staging"配置的web.config将存储在项目根目录下的obj - > Staging文件夹下(在解决方案资源管理器中,您可以通过首先取消隐藏隐藏文件来访问此文件夹):

转换了web.config

  • 在解决方案资源管理器中,单击按钮以显示隐藏文件
  • 打开Obj文件夹
  • 导航到您的活动配置(在我们当前的情况下,它是"暂存")
  • 你可以在那里找到转换后的web.config

您现在可以验证生成的新staging web.config文件是否具有已更改的连接字符串部分.

来源:Web部署:Web.Config Transformation

这对我来说并不是一个完美的解决方案,因为它仍然需要构建整个项目 - 至少使用他发布的命令.如果有人知道如何跳过使用MSBuild命令的构建步骤会有所帮助(尽管听起来有点不太可能).

编辑2

我还在CodePlex上找到了这个配置转换工具,它提供了一些很好的功能来扩展转换过程.这个工具是我所见过的最接近我正在寻找的功能的工具,并且是开发创建预览的扩展的一个很好的起点.它使用Microsoft.Web.Publishing.Tasks库来执行转换,而不依赖于构建实际项目.

Ste*_*veC 12

visualstudiogallery上的SlowCheetah VS加载允许您预览转换结果


kbr*_*ton 7

您可以使用MSBuild任务使用的相同对象转换配置文件,完全绕过MSBuild.Web配置转换逻辑包含在Microsoft.Web.Publishing.Tasks库中.

以下代码片段来自一个简单的类库,引用了Microsoft.Web.Publishing.Tasks库(它安装在我的机器上的C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v10.0\Web) .

该示例加载源文档并进行转换,应用转换,并将结果写入新文件.

using System;
using Microsoft.Web.Publishing.Tasks;

// ...

var xmlTarget = new XmlTransformableDocument();
xmlTarget.PreserveWhitespace = true;
xmlTarget.Load("Web.config");

var xmlTransform = new XmlTransformation("Web.Release.config");

if (xmlTransform.Apply(xmlTarget))
    xmlTarget.Save("Web.Transformed.config");
else
    Console.WriteLine("Unable to apply transform.");
Run Code Online (Sandbox Code Playgroud)

通过一点创造力,这个简单的解决方案可以集成到Visual Studio插件中,可能作为web.config文件中的上下文菜单项.至少,您可以创建一个控制台实用程序或脚本来生成预览.

祝好运!