日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在.net中加载dll的一种错误问题原因及处理

發布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在.net中加载dll的一种错误问题原因及处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題

在一個組件架構的應用程序中,程序啟動時出現了一個錯誤。錯誤提示如下:

// List 1=== 預綁定狀態信息 === 日志: DisplayName = SimpleComponent, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null(Fully-specified) 日志: Appbase = file:///D:/thirdparty/ThirdPartyApp/ThirdPartyApp/bin/Debug/ 日志: 初始 PrivatePath = NULL 調用程序集: (Unknown)。 === 日志: 此綁定從 default 加載上下文開始。 日志: 正在使用應用程序配置文件: D:\thirdparty\ThirdPartyApp\ThirdPartyApp\bin\Debug\ThirdPartyServicePlatformApp.exe.Config 日志: 使用主機配置文件: 日志: 使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config 的計算機配置文件。 日志: 此時沒有為引用應用策略(私有、自定義、分部或基于位置的程序集綁定)。 日志: 相同的綁定已出現過,因 hr = 0x80070002 而失敗。

問題根源

這個應用是組件架構的應用,需要將開發的組件放到應用下的相應的Components目錄;而且在框架代碼中,在引用設置中,添加了SimpleComponent庫的引用,
而且使用了類型硬編碼創建對象。

// List 2 // ... ... SimpleComponent component = new SimpleComponent();// ... ...

這里2個問題:
1. 執行文件的當前目錄下,并沒有SimpleComponent庫文件,所以找不到該文件。執行時會出錯,如上面的異常情況。
2. 作為組件類框架,不能硬依賴,不需要再引用中添加該庫。
3. 硬編碼產生了硬依賴。不應該硬編碼來創建對象。如List 2中的代碼,硬編碼導致硬依賴了。

解決

去除硬依賴,已經硬編碼。如DP中的要求,針對接口編程, 而不是針對實現編程。

總結

以上是生活随笔為你收集整理的在.net中加载dll的一种错误问题原因及处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。