如何为ASP.Net网站项目设置不同的构建配置?

时间:2009-01-14 18:43:17

标签: asp.net visual-studio visual-studio-2008 configuration build-environment

根据an earlier question about Visual Studio configurations,无法使用Visual Studio的配置管理器为ASP.net网站项目创建不同的配置。

对于普通项目,我们有#if指令根据我们是在调试还是在生产中切换某些服务器或数据库变量。这不适用于网站。

例如,在定义网站后端服务器连接的类(在App_Code中)中,如果要运行调试服务器,可能会有一大堆这样的代码覆盖web.config中的生产值在您的本地机器上:

#if DEBUGLOCAL
           ServerProperties.ServerIP = "localhost";
           ServerProperties.DataContextIP = "localhost";
#endif

这不起作用,因为网站没有“Debug Local”配置,因此没有定义DEBUGLOCAL。

您是否找到了解决此类问题的好方法?此外(我希望)重构一切,以便所有这些引用都存在于类库项目中?

ETA:web deployment projects可以在这里帮忙吗?

2 个答案:

答案 0 :(得分:1)

也许在web.config中进行一些交换的Web部署项目可能会有所帮助?另一个想法是在web.config中有一个连接字符串,它从每个环境中可以存在的预先指定的数据库中提取各种值,以便轻松更改设置,而无需触摸任何文件。

答案 1 :(得分:0)

另一种选择可能是upgrade the web site to a web application

现在进行转换可能需要做很多工作,但如果您决定使用网站或Web应用程序,那么进行配置的能力可能有助于提升规模。