0

現在、ASP.NET プロバイダー モデルに従って、いくつかの DataProvider を実装しています。データ プロバイダーとその依存関係を含むすべてのアセンブリが原因で、アプリケーション ディレクトリが混乱していますが、すべて正常に動作します。

サブフォルダーに DataProviders を含むアセンブリを配置することは可能ですか? はいの場合、アセンブリがアプリケーションによって検出されるように、(app.config で) 何を変更する必要がありますか?

これは、app.config の現在のエントリです。

<CustomerProvider>
  <providers>
   <add name="SqlDataProvider" type="SqlDataProvider.SqlCustomerDataProvider, SqlDataProvider"/>
  </providers>
</CustomerProvider>

敬具、マイケル

4

1 に答える 1

0

Jeffrey Richter の著書 .NET Framework-Programming in C# で解決策を見つけました。次のセクションを app.config に追加するだけです。

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="Providers"/>
    </assemblyBinding>
  </runtime>    
  ...
</configuration>

これにより、参照されているアセンブリが見つからない場合、CLR はアプリケーション ルート ディレクトリ (C:\MyApplication\Providers など) のサブディレクトリ Providers を調べます。

これで、100 以上のアセンブリすべてを別のディレクトリに配置して、アプリケーション ディレクトリをクリーンに保つことができます。

于 2010-07-06T08:29:29.350 に答える