我创建了一个类库,其中包含其他类必须连接到的三个数据库的三个实体模型。然后这个类库被三个不同的 Web 服务和一个网站使用。这些都安装在他们自己的服务器上,因此没有简单的方法让他们共享相同的连接数据。
在我的 web.config 文件中,我有这一行:
<connectionStrings configSource="Dependencies.ConnectionStrings.Config"/>
这将从单独的 XML 文件加载连接字符串。它工作正常,但这也意味着我现在有这个 Dependencies.ConnectionStrings.Config 文件的 5 个不同副本。我宁愿在开发过程中使用单个文件。
但是,我的解决方案还包含四个设置项目,在这些设置中,配置文件必须彼此相邻。
那么如何告诉 VS 在多个项目之间共享一个配置文件而不修改 web.config 呢?
为了让它稍微复杂一点,类库使用 app.config 来存储连接字符串。而且我不能告诉 app.config 将连接字符串链接到单独的配置文件,显然......另一个复杂的问题是连接字符串需要在安装后由系统管理员修改。那是因为它必须寻找与开发数据库不同的数据库。(实际上,在开发过程中,我使用了 3 个数据库来拆分实体逻辑。测试和生产环境将只使用一个数据库。)
我目前的解决方案很简单。我已将 Dependencies.ConnectionStrings.Config 文件添加到我的解决方案中的单独文件夹中,并定期将其拖放到其他项目中以更新它们。虽然这可行,但它很容易出错......