我从来没有真正明白这一点。我知道配置设置是用于发布的,但是它们可以用于调试吗?
意思是,我们对web.config(本地,登台和生产环境以及数据库设置)进行了各种转换。为什么我不能调试(跟踪)我在本地运行的网站项目,但是使用其他配置变换的配置?这可能吗?谢谢。
答案 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