我的asp.net mvc项目正确构建。当我尝试运行时,我收到X.dll找不到与我的项目无关的运行时错误。看来,asp.net试图递归地加载任何依赖关系的所有依赖关系。Asp.net dll找不到未使用的DLL的错误
我确定我的代码没有访问X.dll中的任何代码,所以asp.net运行时试图做什么?我该如何解决它?
我的asp.net mvc项目正确构建。当我尝试运行时,我收到X.dll找不到与我的项目无关的运行时错误。看来,asp.net试图递归地加载任何依赖关系的所有依赖关系。Asp.net dll找不到未使用的DLL的错误
我确定我的代码没有访问X.dll中的任何代码,所以asp.net运行时试图做什么?我该如何解决它?
一个asp.net项目,可能的原因,试图加载的DLL
你是不是指一个dll的依赖关系,但你可以使用动态加载动态链接库反射
你的配置(web.config中)可能是指该DLL。例如,你可以具有将使用型
<log4net> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
</layout> </appender>
任何配置条目类似地可能有一个HttpHandler或模块配置你在哪里加载类型
<httpHandlers>
<add verb="*" path="test" type="MyHttpHandler.CustomHandler,CustomHandler"/> </httpHandlers>
另一种可能是你有这个dll只出现在你的bin目录中。默认情况下,asp.net会尝试加载bin目录下的所有dll,这是因为root web.config(C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config中)dynamically inject DLLs设置
<system.web> <compilation> <assemblies> <add assembly="*" /> </assemblies> </compilation> </system.web>
如果没有上述步骤的协助,你可以找出为什么该dll得到使用融合日志和进程管理器/进程监视器加载。检查[此]( http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx)
希望这有助于!
您正在调用具有在X.dll中声明类型的局部变量的方法。即使if路径将使您远离参考,抖动仍会尝试访问它。
在我想出规则之前,这让我感觉好几次。如果有任何方法出现了可以通过任何路径引用程序集的jitter(包括编译器无法证明的静态不可达路径;在C#中,编译器可以证明它无法访问的所有情况下,您将收到无法访问的代码错误/警告)将被加载。此外,该方法中的try/catch/ignore不起作用。只有调用方法可以捕获错误。异常发生在方法的开始大括号(或:对于调用其基础构造函数的构造函数)。
可能的修复:将X.dll包含到您的部署中。或者不要使用(间接)依赖于X.dll的任何代码。 –
我没有那个DLL。因为我不需要它 –