0

以下のプロジェクトがあります。

  • ドメイン.UI.Web
  • ドメイン.ビジネス
  • ドメイン.サービス.エンドポイント
  • Domain.Services.Contracts
  • ドメイン.サービス.エージェント

app.Configたとえば、Domain.Businessプロジェクトに ApplicationSettings が追加されています。

<applicationSettings>
    <Domain.Business.My.MySettings>
        <setting name="SomeKey" serializeAs="String">
            <value>someDummyValue</value>
    </Domain.Business.My.MySettings>
</applicationSettings>

Visual Studio によって生成される型指定されたアクセサーのキーがそこに追加されます。ただし、値はweb.config別のプロジェクトの値によって上書きされています。これはweb.configDomain.Services.EndPointsプロジェクトのです。

<Domain.Business.My.MySettings>
        <setting name="SomeKey" serializeAs="String">
            <value>actual_value</value>
        </setting>
    </Domain.Business.My.MySettings>
</applicationSettings>

My.Settings.SomeKeyプロジェクトから取得するとDomain.Business、値はactual_valueEndPoints プロジェクトから取得されます。そして、これは私たちのソリューションでこれを行っていると思われるコードを見つけることができず、Googleに私の質問に答えてもらうことができないため、 自動的に起こっているようです:

これは何ですか?これは ASP.NET または WCF の標準ですか? これはどのバージョンのフレームワークで導入されましたか? この上書き動作の詳細はどこで確認できますか?

4

1 に答える 1

1

Domain.Business はクラス ライブラリなので正常な動作です。dll には .config ファイルがないため、ライブラリを参照するアプリケーションの web.config (実行可能ファイルの場合は app.config) を使用します。

于 2013-01-07T08:27:58.990 に答える