0

MSSQL ストアド プロシージャからモデル コードを生成するカスタム MSBuild タスクを作成しました。アプリケーションと同じ構成をタスクに使用して、データベースに接続したいと考えています。このような構成セクションを作成しました

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="CoreDataConnections" type="CoreData.ConfigHandler, CoreData"></section>
  </configSections>
  <CoreDataConnections>
  <Connection Name="BillingDB" ConnectionString="Data Source=SERVER0;Initial Catalog=DB0;persist security info=False;user id=user;password=password;packet size=4096"/>
  <Connection Name="ValidationDB" ConnectionString="data source=SERVER1;initial catalog=DB1;persist security info=False;user id=user;password=password;packet size=4096"/>
  </CoreDataConnections>
</configuration>

次のように、私のアプリから一日中アクセスします。

Dictionary<string,string> Connections = (Dictionary<string,string>)ConfigurationSettings.GetConfig("CoreDataConnections");

しかし、私のカスタム タスクはそれを見ることができず、 をGetConfig返しますnull

ここで何をすべきですか?カスタム構成セクション ハンドラーを書き直す必要はなく、たとえば、MSBuild プロパティで app.config ファイルを指定することにもっと関心がありますが、必要なことは行います。

4

2 に答える 2

1

たとえば、MSBuild プロパティで app.config ファイルを指定することに関心がある

それが私がしたことです。うまくいきました。

于 2009-12-10T04:31:25.123 に答える
0

ConfigurationManager.OpenExeConfigurationメソッドを試しましたか? おそらく、そのパスを呼び出す MSBuild スクリプトからタスクにそのパスを渡す必要があります。

その時点で実行されているアプリケーションは msbuild.exe であるため、ロードされた構成は msbuild.exe.config であり、アプリで通常行うように構成要素にアクセスしようとすると、app.config ファイルの値を取得できません。 .

于 2009-12-10T04:21:08.603 に答える