我们正在迁移到在同一服务器(测试引擎和生产引擎)上运行多个SQL Server引擎的环境。我们还有单独的测试和生产Web服务器,并希望我们的asp.net应用程序“神奇地”使用测试Web服务器上的测试数据库引擎和生产Web服务器上的生产数据库引擎。我们希望将连接字符串存储在machine.config中而不是web.config中,但是当我们将它放在machine.config中时,Visual Studio的IDE(特别是数据集)无法识别machine.config包含连接。 / p>
有没有人知道在Visual Studio中显示这些machine.config连接字符串的解决方案,或者是否有适合此目的的其他解决方案?
感谢。
答案 0 :(得分:2)
(注意我从未尝试或测试过这个,但我相信它会起作用。如果确实如此,请告诉我。)您可以将连接字符串添加到machine.config,然后将connectionstring.config文件添加到项目中在根级别。 在此文件的属性中,选择不部署
connectionstring.config文件的内容:
<?xml version="1.0"?>
<connectionStrings>
<add name="someName" connectionString="yourString" />
<add name="someName2" connectionString="yourString2" />
<add name="someName3" connectionString="yourString3" />
<connectionStrings>
最后在您的web.config中为您的项目修改connectionstring部分,如下所示
<connectionStrings file="connectionstring.config">
</connectionStrings>
基本上你正在做的是设置dev环境以从特定文件中读取连接字符串。当部署到测试或生产服务器时,connectionstring.config文件将不存在,因此它应该恢复为使用机器配置中指定的连接字符串。