0

我目前正在根据 ASP.NET 提供程序模型实现一些 DataProviders。一切正常,尽管由于所有包含数据提供者及其依赖项的程序集,应用程序目录一团糟。

是否可以将包含 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 回答