【发布时间】:2018-02-09 14:03:40
【问题描述】:
问题是表适配器一直在引用我没有为其设置的连接字符串。当我转到数据集设计器中的每个数据表时,连接显示“MyConnectionString(settings)”。当我搜索错误的连接字符串时,VS 找不到。
在多个解决方案中重复使用的项目。我有三种配置:Debug、Staging 和 Release。每个配置都有自己的连接字符串。我的 app.config 如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings configSource="connect.config"/>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
</configuration>
每个配置文件如下所示:
<connectionStrings>
<clear/>
<add name="Properties.Settings.MyConnectionString" connectionString="Data Source=CorrectDataSourceforthisConfig\SQL;Initial Catalog=MyDB;Trusted_Connection=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
在我的数据集中,我有这个 XML:
<Connections>
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="MyConnectionString" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="MyConnectionString (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.MyMenu.Properties.Settings.GlobalReference.Default.MyConnectionString" Provider="System.Data.SqlClient" />
</Connections>
在我的 settings.designer.cs 中,我有这个:
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=CorrectDataSourceForDebug\SQL;Initial Catalog=MyDB;Integrated Security=True")]
public string RMSConnectionString {
get {
return ((string)(this["MyConnectionString"]));
}
}
这个恶意连接字符串是从哪里来的?任何帮助、想法、建议和意见将不胜感激。
【问题讨论】:
-
在打开连接之前,是否有一些第 3 方代码更改了连接字符串?也许它甚至会创建一个完全不同的连接实例?
-
有趣的想法,但在这种情况下是不可能的。我只是想在它出现时填充表格适配器
标签: c# visual-studio connection-string