C 專案引用完全相同dll檔案的問題解決方法

2021-04-27 06:56:04 字數 582 閱讀 2653

今天有開發人員問我乙個問題,他的專案中要引用兩個類庫,這兩個類庫命名居然完全相同,而且更有戲劇性的是,命名空間以及命名空間下的類也是相同的,並且這兩個類庫不是乙個公司的產品。當對乙個dll檔案新增引用後,vs就不允許再次新增另乙個dll的引用了。

如果兩個類庫命名完全相同,可以把他們同時儲存到gac是可以的,因為他們的簽名檔案不同。但是要簡單的新增引用是無法辦到了。

那麼遇到這樣的問題,我們可以考慮使用晚期繫結和動態載入類來實現,就是用.net的放射技術。對應這個問題我是這樣解決的。

首先,在vs08中,手動對乙個類庫新增引用,然後用反射的方法動態載入另外乙個類庫,這樣就可用操作元資料的方法,處理另外乙個命名完全相同的dll檔案的引用問題了。

以下是部分**

using system;

using system.security.permissions;

using system.reflection;

using stutest1;

namespace testgac}}

以下執行的結果:

其它有關反射的文章,請參見  http://www.rzhh.com.cn 中的文章部分。

C 專案引用DLL的三種方式

1.直接放在專案exe同級目錄 2.設定簽名後 放在系統c windows assembly檔案下,不設定簽名,放不進去 key值密碼隨便設定,win7以上系統微軟設定了非管理員許可權不能操作許可權控制,對於電腦控制比較嚴格的公司,不推薦此方式 3.1第一種probing設定 exe所在的子目錄下 ...

C 將引用的dll嵌入到exe檔案中

通過網上查詢,將引用的dll,嵌入到exe專案中,通過編譯為單一的exe檔案。1.引用dll,將引用的dll設定為不複製 是否複製不影響使用,編譯完成後,只需要exe就可以了,旁邊的dll是否存在並不影響使用 2.將引用的dll嵌入到專案中。新建乙個專案資料夾,將引用的dll複製到此資料夾中,幷包含...

關於C 引用dll動態鏈結庫檔案的注釋問題

1 dll動態庫檔案專案生成屬性中要勾選 xml文件檔案 注意 1 要選中專案,檢視專案屬性,選中解決方案是找不到的。2 xml檔案的名字不要修改。2 新增引用時xml檔案要與dll檔案在同乙個目錄下。3 如果要是新增引用的時候xml不在相同目錄下,之後又將xml檔案複製到相同的目錄下,需要刪除引用...