Winforms debug/release production/dev连接字符串app.config
本文关键字:字符串 app 连接 config production debug release Winforms dev | 更新日期: 2023-09-27 18:25:30
发布Winforms application
时,我总是忘记更改连接字符串。
我使用的是EF6
和.net framework 4.5
。
在App.config
中
<connectionStrings>
<add name="NarudzbeEntities" connectionString="metadata=res://*/NarudzbeModel.csdl|res://*/NarudzbeModel.ssdl|res://*/NarudzbeModel.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.1.XX;initial catalog=Narudzbe;persist security info=True;user id=USER;password=PASSWORD;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
<add name="Narudzbe.Properties.Settings.NarudzbeConnectionString"
connectionString="Data Source=192.168.1.XX;Initial Catalog=Narudzbe;Persist Security Info=True;User ID=USER;Password=PASSWORD"
providerName="System.Data.SqlClient" />
</connectionStrings>
我怎么能在app.config中有两个连接字符串,或者什么是正确的方法。
有很多关于ASP.NET web.config的文章,但我需要winforms的解决方案。
我目前使用的是每个配置的App.config
。所以在您的用例中,它将是一个App.Debug.config
和一个App.Release.config
。
要使其工作,您必须编辑项目文件。在使用visualstudio的dotnet框架中,您必须卸载您的项目。
在dotnet核心或框架sdk风格的项目(dotnet核心风格的项目)中,你不必这样做。
添加以下片段:
<PropertyGroup>
<AppConfig>App.$(Configuration).config</AppConfig>
</PropertyGroup>
现在,无论您在什么配置中运行代码,都将使用app.config。
我在下面这个帖子的回答中发现了这一点。对我来说,这是使用运行在dotnet框架4.8上的winforms,同时使用ef核心3.1。
您可以在app-config中执行类似操作。使用配置文件链接的ConnectionStrings部分可以获得很好的信息。
<configuration>
<connectionStrings>
<clear/>
<add name="Dev"
providerName="System.Data.SqlClient"
connectionString="Data Source=machine'sq; Initial Catalog=DevDB; Integrated Security=SSPI"
/>
<add name="QA"
providerName="System.Data.SqlClient"
connectionString="Data Source=machine'sql; Initial Catalog=QADB; Integrated Security=SSPI"
/>
<add name="Prod"
providerName="System.Data.SqlClient"
connectionString="Data Source=machine'sql; Initial Catalog=ProdDB; Integrated Security=SSPI"
/>
</connectionStrings>
如果使用EF,则必须在应用程序配置中使用与Context类同名的连接字符串。当我试图通过Context类的基构造函数传递连接字符串名称时,遇到了问题。因此,在发布应用程序时,只需在应用程序配置中备注连接字符串即可。