获取连接字符串与多个项目c# SQL Server

本文关键字:项目 SQL Server 连接 字符串 获取 | 更新日期: 2023-09-27 18:15:22

我有四个项目的解决方案-项目1,项目2等。每个项目都有一个app.config文件。我试图在项目1的调用中引用项目4中的System.Configuration.ConfigurationManager.ConnectionStrings。

在Project 1中,我有:

        UtilitiesClass util = new UtilitiesClass();
        string connectionString = util.getConnectionString();
在Project 4中,我有一个实用程序:
public string getConnectionString()
    {
        string cx = System.Configuration.ConfigurationManager.ConnectionStrings["Shared Items.Properties.Settings.ConnectionString"].ConnectionString;
        return (cx);
    }

我得到的错误是连接字符串为空。我已经从项目4独立运行这个,它得到连接字符串没有错误。

获取连接字符串与多个项目c# SQL Server

一般来说,你不能在"入口点项目"之外的任何地方使用应用程序配置阅读器——即由IIS加载的项目。这里的最佳实践是让"入口点项目"读取其应用程序设置文件,并通过某种服务类将其提供给应用程序的其余部分。

作为"最佳实践"的原因是,您可以在不依赖外部文件的情况下对您的附属项目和类进行单元测试(当然,每个测试部署只有一组属性)。通过在入口点设置参数——在本例中是测试用例,您可以同时测试多个配置。

您可以尝试将资源文件(.resx)添加到项目中,添加连接字符串并将其可访问性更改为public,以便您可以通过项目使用它。希望这对你有所帮助