我的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。因爲我不需要它 –