visual studio 2010 - 使用“发布”web.config转换进行调试?

时间:2011-04-20 18:01:16

标签: c# asp.net visual-studio debugging

我从来没有真正明白这一点。我知道配置设置是用于发布的,但是它们可以用于调试吗?

意思是,我们对web.config(本地,登台和生产环境以及数据库设置)进行了各种转换。为什么我不能调试(跟踪)我在本地运行的网站项目,但是使用其他配置变换的配置?这可能吗?谢谢。

3 个答案:

答案 0 :(得分:4)

目前,Web.config转换仅在Web Publish Pipleline(WPP)期间应用,而不是在构建期间应用。目的是开发人员可以使用web.config来满足他们的本地需求,但是在发布期间应用转换以确保一致的配置。

如果您对黑客攻击项目感兴趣,可以在构建时进行转换,请查看this link

答案 1 :(得分:0)

我认为'debug'配置不适用于转换后的配置。如果要使用调试,则需要将其设置为使用调试配置关联而不是转换配置。

我遇到了同样的问题,并且只能在配置设置为Debug时调试,即使我有多种类型的转换配置文件也不会发布。

这是两种不同类型的编译,Release有很多不同的信息编译到applciation而不是Debug。因此,当您选择编译为Release时,调试信息甚至不存在。如果您希望能够调试它,则需要附加发布配置并将其附加到Debug编译。

请参阅Scott Gu的这篇文章,它解释了'Release'与'Debug'编译之间的许多区别:

http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx

答案 2 :(得分:0)

您可以使用#if debug then ....

更改特定设置

例如我的web.config包含在我的应用程序中访问生产和testdatabase的连接字符串开始有以下行来访问diffrent connectionstring

#If DEBUG Then
                constring = ConfigurationManager.ConnectionStrings("aniptestContainer").ConnectionString
#Else
                constring = ConfigurationManager.ConnectionStrings("anipproductionContainer").ConnectionString
#End If