0

オーバーライドによってブートストラッパーにアセンブリを登録する方法を知っています --> 保護されたオーバーライド void ConfigureContainer()

しかし、設定ファイルに登録したい

Unity セクションを app.confg に追加します

  <register type="namespace.Iinterface, assembly, Version=1.0.0.0, Culture=neutral"
            mapTo="namespace.class,assembly">
    <lifetime type="singleton" />
    <constructor>
      <param name="file" value="xml"/>
    </constructor>
  </register>

</container>

このクラスは私が欠けているものを登録しませんか?

4

1 に答える 1

0

Unityライブラリ、ドキュメント、またはコードベースのどこでも使用されている用語ではないため、「アセンブリの登録」の意味を理解しているかどうかはわかりません。単に構成をロードしたいだけだと思います。

適切な構成ファイル (アプリケーションの app.config/web.config、.dlls には構成ファイルがありません) にいると仮定すると、次のことを行う必要があります。

  1. プロジェクトで Microsoft.Practices.Unity.Configuration.dll を参照します。
  2. コンテナーの初期化コードを含むソース ファイルの先頭に、"using Microsoft.Practices.Unity.Configuration" を追加します。
  3. 電話:

    コンテナ.LoadConfiguration();

これにより、デフォルト構成ファイルのデフォルト セクション (unity という名前) のデフォルト (名前なし) コンテナー要素から構成が読み込まれます。これらのデフォルトから変更したい場合は、さまざまなカスタマイズ オプションがあります。

Container.LoadConfiguration は拡張メソッドであるため、using ステートメント (上記の手順 2) を省略すると、呼び出しはコンパイルされません。

于 2011-06-14T00:54:52.277 に答える