VS 2010 Web.config转换用于调试

20

我很喜欢新的VS 2010 Web.config转换功能。我用这个功能进行部署,并想知道是否也可以用于调试。

我考虑在IDE中使用它们:我想创建不同的构建配置(带有链接的转换配置);选择其中一个;在IDE中启动网站并以此方式调试不同的配置。


你能再详细一些吗?除了在发送到生产环境之前删除调试属性的默认操作外,你会如何使用它们进行调试? - Nick Craver
修改了我的问题。希望它足够详细。 - Dirk Brockhaus
2
啊,我认为这是不可能的(它直接从文件系统中使用web.config,没有任何移动),在这种情况下xdt专门用于部署,而不是本地使用...虽然你可以将其部署到本地目录并在那里通过IIS进行调试... - Nick Craver
3个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
12

更新

感谢第三方插件SlowCheetah,现在这是可能的。Scot Hanselman有一篇博客文章介绍了它。


原始回答:

不幸的是,web.config转换似乎只影响发布站点和构建部署包。

在我们的情况下,我们有两个开发组,一个可以访问多个环境(内部),另一个只能访问单个环境(离岸)。我们有时需要在内部组直接针对QA进行调试,而离岸则保持锁定状态(因此他们的web.config必须指向开发环境)。

我们希望每个环境有1个构建配置,并且能够选择与要调试的环境匹配的构建配置--这就是我理解的您的问题。


我得出了相同的结论。你的答案给了我关闭这个问题的机会 :-) - Dirk Brockhaus
真遗憾...正在寻找这个相同的功能。我想大部分运行在我的本地SQL实例上,但如果能选择不同的配置并能应用我的转换来连接到我们用于开发服务器的SQL盒子,那就太好了...已经在我的开发转换中找到了。 - felickz
5
即使使用慢猎豹(SlowCheetah),也无法做到那样。 它正如你所写的那样工作,只能在发布站点和构建部署包时使用。 - Fabito
这在本地调试时不起作用 -- 没有部署 -- 请参考Alp的答案,链接为:http://ledtalks.posterous.com/webconfig-transformations-when-debugging - Kem Mason

7
如果有人好奇为什么他们没有构建这个功能,可以从这里了解:http://forums.asp.net/p/1532038/3711423.aspx。当web应用程序运行时,会选取根目录下的web.config文件,并且不幸的是它在源代码控制下。虽然我理解让运行时使用一个来自临时文件夹的转换后的web.config文件带来的简洁性;但是,asp.net运行时对vs项目结构一无所知,完全基于目录结构。使用替代路径可能会破坏一个子文件夹下的web.config期望从上级目录继承设置的情况。

1
在这篇帖子的第2页末尾有一个解决方案,它将MSDEPLOY作为构建事件运行,然后将转换后的配置文件通过XCOPY覆盖到调试的web.config上作为后期构建事件。唯一的问题是,如果你的解决方案在源代码控制下,每次构建都会检出web.config :( - felickz

7

1
我喜欢这个解决方案,非常感谢JAMES COLEMAN(一位传奇和绅士)。 - MemeDeveloper
感谢您的赞扬和推荐,Chris。我发现这篇文章是因为我在查看我的Google分析时发现有很多访问来源于这里。 - Colema18
这个解决方案似乎无法处理Web.config自动更新且在构建时被覆盖的情况。 - TonE
嗨TonE,我认为你需要提一个新问题并发布关于你特定情况的所有相关细节,以便解决你的问题。 - Alex Pop
1
博客文章中的图片已经消失了,有人能更好地解释解决方案吗? - Leandro Gomide
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,