繁体   English   中英

是否可以在Visual Studio中创建解决方案级别的配置文件?

[英]Is it possible to create a solution level configuration file in Visual Studio?

我有一个使用相同连接字符串的多个项目的解决方案。 我可以使用这些字符串向每个项目添加配置文件,但是想知道是否有办法为整个解决方案添加单个配置文件,可以由其中的所有单个项目访问?

不要将配置文件添加到每个项目,而是使用Add as Link,这样只有一个文件的副本,所有项目都在访问。

基本上你是在添加地址而不是文件本身,这意味着对地址文件的任何更改都会影响从地址读取的所有项目。

在第一个项目中创建一次配置。

然后所有其他项目,添加现有项目,但点击添加按钮上的箭头和添加为链接

这个文件将在您的项目中共享。

我相信你只需要'Startup'项目中的配置文件。

我有一个包含多个项目的解决方案,它们都使用启动项目中单个配置文件中的相同连接字符串。

或者,您可以创建自己的配置文件,所有项目都可以访问(不使用.net配置文件)

根据解决方案中的项目,如果您有MVC / UI项目,可以使用web.config并在同一解决方案中的其他项目中引用它。

样品:

MVC项目中的Web.config:

<configuration>
...
  <connectionStrings>
    <add name="name1" connectionString="Data Source=HOSTNAME_DB_INSTANCE;Initial Catalog=DB_NAME;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="name2" connectionString="Data Source=HOSTNAME_DB_INSTANCE;Initial Catalog=DB_NAME;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="name3" connectionString="Data Source=HOSTNAME_DB_INSTANCE;Initial Catalog=DB_NAME;Integrated Security=True" providerName="System.Data.SqlClient" />
  </connectionStrings>
...
</configuration>

在另一个项目/类库中

public List<Products> GetProducts()
{
    using (var multi = new SqlConnection(ConfigurationManager.ConnectionStrings["name1"].ConnectionString).QueryMultiple("SPROC NAME", commandType: CommandType.StoredProcedure))
    {
        return multi.Read<Products>().ToList();
    }    
}

这在解决方案级别一直对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM