繁体   English   中英

如何覆盖连接字符串的设置设计器中的默认设置值

[英]How do I overwrite the default settings value in the settings designer for my Connection String

为了在我的登台PC上运行,我需要使用与设置设计器中默认设置值不同的连接字符串。

我在settings.designer.cs中:

  [global::System.Configuration.DefaultSettingValueAttribute("Data Source=MyServer\\MyDB;Initial Catalog=MyDB;Integrated Security=True;Pers" +
    "ist Security Info=True")]

public string MyConnectionString {
    get {
        return ((string)(this["MyConnectionString"]));
    }
}

我的app.config是这样的:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
    <clear />
    <add name="MyConnectionString " connectionString=Data Source=MyServer2\\MyDB;Initial Catalog=MyDB;;Trusted_Connection=True"
      providerName="System.Data.SqlClient" />
</connectionStrings>
  <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
</configuration>

我希望该应用程序使用app.config中的设置,但是它仍然可以使用设置设计器文件中的设置。

我也尝试了以下各种排列:

 <add name="AppName.Properties.Settings.Default.MyConnectionString" connectionString=Data Source=MyServer2\\MyDB;Initial Catalog=MyDB;;Trusted_Connection=True"
      providerName="System.Data.SqlClient" />

如:

AppName.Properties.Settings.GlobalReference.Default.MyConnectionString

和:

ApplicationSettings.AppName.Properties.Settings.GlobalReference.Default.MyConnectionString

任何想法或想法将不胜感激。

为了使其正常工作,您必须在引用中包含System.Configuration。

您需要访问配置管理器

 System.Configuration.ConfigurationManager.ConnectionStrings["connectionStringName"].ConnectionString;

将您的连接字符串名称更改为更简单的名称,否则您将不得不使用所有这些

 System.Configuration.ConfigurationManager.ConnectionStrings["AppName.Properties.Settings.Default.MyConnectionString"].ConnectionString;

如果要使用系统属性,则应添加system.reflection参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM