2011-04-20 44 views
3

我从来没有真正明白这一点。我知道配置设置是用于发布的,但它们可以用于调试吗?visual studio 2010 - 调试使用“释放”web.config转换?

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

回答

4

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

如果您有兴趣对您的项目进行黑客入侵,使其在构建过程中发生变化,请查看this link

0

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

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

这是两种不同类型的编译,Release具有非常不同的信息编译到应用程序比调试。所以当你选择编译为Release时,那个调试信息甚至不在那里。如果您想调试它,您需要附加发布配置并将其附加到Debug编译。

见斯科特顾这个职位它解释了很多的“释放” VS“调试”之间的区别编译:

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

0

您更改特定设置与调试的#if然后....

例如我的web.config中包含ConnectionString,以存取权限在我的应用程序的生产和testdatabase开始有以下行存取权限有多种不同的ConnectionString

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

是不是有多个web.configs/transforms是为了防止你需要做到这一点? '#如果'是如此90年代:) – Kelsey 2011-04-20 18:11:39

+0

其仍然有用我:) – David 2011-04-20 18:17:00

相关问题