我遇到了常见错误:
无法加载文件或程序集“...”或其依赖项之一。该 无法找到指定的模块。
问题是这个dll引用了非托管dll,所以它永远无法正常加载。我只是想让IIS忽略这个文件。
我正在使用web.config中的<remove assembly>
标记,但没有运气。
关于如何阻止我的一个dll加载的任何建议?
答案 0 :(得分:2)
虽然我无法找到限制特定程序集的方法,但我能够通过删除所有程序集并添加我需要的特定程序集来完成它。将web.config文件更改为:
<system.web>
<compilation targetFramework="4.0">
<assemblies>
<remove assembly="*"/>
<add assembly="example.dll"/>
</assemblies>
</compilation>
</system.web>
答案 1 :(得分:1)
.Net运行时不会加载程序集以获得乐趣。它只在需要时才这样做 - 即你正在积极地使用该程序集中的类/方法。只要不执行使用它们的代码,您甚至可以引用不存在的程序集。
因此,防止加载程序集不会使您的应用程序工作 - 即删除程序集并看到您的应用程序因缺少依赖性而崩溃。
如果你以某种方式自己加载程序集(比如Assembly.Load),那么你需要弄清楚如何跳过这些程序集......