[英]How to create a configuration file (json) for the entire solution in 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.