0

サービスおよび構成アプリケーションを作成しようとしています。VB/C++ 2010 Google で多くのヒットがありましたが、それらはほとんど時代遅れのようです。これまでのところ、単一のフォーム アプリとサービス アプリを含むプロジェクトがあります。単一フォーム アプリには「app.config」ファイルがあり、次のセクションを追加しました。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings file="settings.config">
    </appSettings>
</configuration>

ソリューションに「settings.config」ファイルを追加しました。その内容は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<appSettings>
    <add key="Setting1" value="This is Setting 1 from settings.config" />
    <add key="Setting2" value="This is Setting 2 from settings.config" />
    <add key="ConnectionString" value="ConnectString from settings.confg" />
</appSettings>

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\Profile\Client\System.Configuration.dll への参照を追加しました。

フォーム アプリとサービス アプリの両方のライブラリ

非常に単純なフォームアプリでは、次のコードがあります

    Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load

        Dim s As String = _
 System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
        TextBox1.Text = s
    End Sub

うまくいきません!今明らかに私は何かが欠けています。おそらく非常に単純です。しかし、私の限られた理解は、これは私が持っている設定ファイルによって自動的に設定されるということですか? MS は通常の便利な方法で、2012 年と正味 4.5 以上のサンプルのみを提供しているようです。これは 2003 サーバーでも (同様に) 動作する必要があるため、net 4.0 に制限されています。

4

2 に答える 2

1

ここでの問題は、行がアプリケーションのファイルでSystem.Configuration.ConfigurationManager.AppSettings("ConnectionString")キーを探していることです。ConnectionStringapp.config

そのfileキーを app.config ファイルに含めたという事実ConfigurationManagerは、別のファイルから設定をロードするように魔法のように指示するものではありません。それが必要な場合は、キーの設定を読み取ってfileから、そのファイルから構成を手動でロードする必要があります。

これは .Net の初期のバージョンから変更されていないため、例によって競合した理由がわかりません。

于 2013-03-19T13:36:19.447 に答える
0

の既存のアセンブリに参照を追加し.Net sectionますAdd Reference Popup

connectionStrings sectionただし、構成ファイルで使用することをお勧めします

<connectionStrings>
<add name="myConnectionString" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>

string connStr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
于 2013-03-19T13:36:38.983 に答える