我目前正在根据ASP.NET Provider Model实现一些DataProviders。一切正常,但应用程序目录很乱,因为所有程序集都包含数据提供程序及其依赖项。
是否可以将包含DataProviders的程序集放在子文件夹中?如果是,我需要更改什么(在app.config?中),以便应用程序找到程序集?
这是我在app.config中的当前条目:
<CustomerProvider>
<providers>
<add name="SqlDataProvider" type="SqlDataProvider.SqlCustomerDataProvider, SqlDataProvider"/>
</providers>
</CustomerProvider>
祝你好运, 迈克尔
答案 0 :(得分:0)
我刚刚在Jeffrey Richter的C#.NET Framework-Programming中找到了解决方案。您只需将以下部分添加到app.config:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Providers"/>
</assemblyBinding>
</runtime>
...
</configuration>
这会导致CLR在找不到引用的程序集时查看应用程序根目录(例如C:\ MyApplication \ Providers)中的子目录Providers。
现在我可以将所有100多个程序集放在一个单独的目录中,并保持我的应用程序目录清洁。