1

我们正在迁移到在同一台服务器上运行多个 SQL Server 引擎(一个测试引擎和一个生产引擎)的环境。我们也有单独的测试和生产网络服务器,并希望我们的 asp.net 应用程序“神奇地”使用测试网络服务器上的测试数据库引擎和生产网络服务器上的生产数据库引擎。我们希望将连接字符串存储在 machine.config 而不是 web.config 中,但是当我们将其放入 machine.config 时,Visual Studio 的 IDE(尤其是数据集)无法识别 machine.config 包含连接。

有谁知道在 Visual Studio 中显示这些 machine.config 连接字符串的解决方案,或者可以适应这种情况的不同解决方案?

谢谢。

4

1 回答 1

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 中修改连接字符串部分,如下所示

<connectionStrings file="connectionstring.config">
</connectionStrings>

基本上,您正在做的是设置开发环境以从特定文件中读取连接字符串。当部署到测试或生产服务器时,connectionstring.config 文件将不存在,因此它应该恢复使用机器配置中指定的连接字符串。

于 2010-06-16T20:54:03.127 回答