【发布时间】:2017-09-09 15:45:46
【问题描述】:
当我在 Visual Studio 中发布项目后更改连接字符串时,它给了我一个错误
这是我的 app.config 文件
<connectionStrings>
<add name="DataContext" connectionString="metadata=res://*
/Model.DataContext.csdl|res://*/Model.DataContext.ssdl|res:
//*/Model.DataContext.msl;provider=System.Data.SqlClient;provider connection string="data source=CODE-SERVER\SQLSILENT;initial catalog=pos-standard;persist security info=True;user id=sa;password=abc123**;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
在新的 app.config 文件中,我想将此连接字符串替换为我的本地数据库连接字符串。
<add name="DataContext" connectionString="metadata=res://*/Model.DataContext.csdl|res://*/Model.DataContext.ssdl|res://*/Model.DataContext.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=pos-standard;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
【问题讨论】:
-
您需要在编辑配置文件后重新签署应用程序和部署清单:msdn.microsoft.com/en-us/library/dd465299.aspxstackoverflow.com/questions/25004056/…
-
@mm8 你说得对,这是我们可以解决这个问题的一种方法,但在我的情况下,我无法辞职/发布应用程序
-
如果你不能辞职,你有两个选择: 1. 不要使用 ClickOnce。 2. 不要更改配置文件。
-
如果您使用 Windows 身份验证,则无需更改连接字符串,除非您想连接到不同的服务器。您可以将服务器、数据库名称存储为 user 设置,并在运行时构建最终连接字符串。在连接字符串中存储用户名/密码是一个坏的想法,因为最终用户可以轻松读取它们。
-
@mm8 我觉得你的回答很适合我。谢谢
标签: c# wpf entity-framework connection-string app-config