0

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

对于正常的项目,我们有#if指令可以切换某些服务器或数据库变量,具体取决于我们是在调试还是在生产中。这不适用于网站。

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

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

这是不行的,因为有对网站没有“调试本地”配置,因此没有DEBUGLOCAL定义。

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

ETA:可以web deployment projects帮助吗?

回答

1

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

+0

我还没有听说过web部署项目(我对这个东西还是一种新鲜感)。微软的下载链接在这里:http://www.microsoft.com/downloads/details.aspx?familyId=0AA30AE8-C73B-4BDD-BB1B-FE697256C459&displaylang=en – 2009-01-14 19:24:18

0

另一个选项可能是upgrade the web site to a web application

这可能需要很多工作才能完成过渡,但如果您决定使用网站或Web应用程序,则具有配置的功能可能有助于缩小比例。

相关问题