Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以在Visual Studio中创建解决方案级别的配置文件?_C#_.net_Visual Studio 2013 - Fatal编程技术网

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

C# 是否可以在Visual Studio中创建解决方案级别的配置文件?,c#,.net,visual-studio-2013,C#,.net,Visual Studio 2013,我有一个多个项目的解决方案,它们将使用相同的连接字符串。我可以用这些字符串向每个项目添加一个配置文件,但我想知道是否有办法为整个解决方案添加一个配置文件,该解决方案中的所有项目都可以访问该配置文件?而不是向每个项目添加配置文件,使用此选项,以便所有项目仅访问文件的一个副本 实际上,您添加的是地址而不是文件本身,这意味着对地址处的文件所做的任何更改都将影响从该地址读取的所有项目。我相信您只需要“启动”项目中的配置文件 我有一个多个项目的解决方案,所有项目都使用启动项目中单个配置文件中的相同连接字符

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

而不是向每个项目添加配置文件,使用此选项,以便所有项目仅访问文件的一个副本


实际上,您添加的是地址而不是文件本身,这意味着对地址处的文件所做的任何更改都将影响从该地址读取的所有项目。

我相信您只需要“启动”项目中的配置文件

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


或者,您可以创建自己的配置文件,供所有项目访问(不使用.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();
    }    
}
public List GetProducts()
{
使用(var multi=new-SqlConnection(ConfigurationManager.ConnectionStrings[“name1”].ConnectionString.QueryMultiple(“存储过程名称”,commandType:commandType.StoredProcedure))
{
返回multi.Read().ToList();
}    
}

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

如果您有一个带有类库(app.config)的web应用程序(web.config),该怎么办。。