C 中不同程式集(dll)存在相同的命名空間

2022-09-05 13:33:09 字數 882 閱讀 8011

一、遇到問題

1.型別「idatabase」同時存在於「stackexchange.redis.strongname, version=1.2.6.0, culture=neutral, publickeytoken=c219ff1ca8c2ce46」和「stackexchange.redis, version=2.0.0.0, culture=neutral, publickeytoken=c219ff1ca8c2ce46」中

2.stackexchange.redis.strongname和stackexchange.redis兩個程式集中都有stackexchange.redis命名空間,這時使用 命名空間.類名 不能解決衝突問題

二、解決方案

1.將相同命名空間的不同程式集分別進行取別名

2.我這裡有兩個程式集,則只給其中乙個程式集定義別名,根據需要我選中stackexchange.redis.strongname設定別名,

右鍵屬性,設定乙個別名:stackexchangeredisstrongname,別名根據自己需要進行自定義

3.通過"extern alias"關鍵字匯入別名 ,在類檔案首部加上 :extern alias 別名;

extern alias stackexchangeredisstrongname;

stackexchangeredisstrongname.stackexchange.redis.idatabase

(2)或者使用

using stackexchangeredisstrongname.stackexchange.redis;

c 動態生成程式集dll

動態生成程式集,指定版本號,如果需要引用程式集,可以新增乙個類的 可以是個空類,也可以將一些檔案嵌入到dll裡。csharpcodeprovider codeprovider new csharpcodeprovider system.codedom.compiler.compilerparamet...

Linux 中如何切換相同程式的不同版本

幾天前,我們曾經討論如何如何在不同的 pkfsduoehp 版本之間進行切換。在那篇文章中,我們使用update alternatives命令實現從乙個 php 版本切換到另乙個 php 版本。也就是說,update alternatives命令可以將 系統範圍 system wide 預設使用的 ...

C 中的程式集

程式集是重用 的一種方式 程式集結構 建立程式集 要建立程式集,請使用下列命令 c csc out target library 下面的命令建立乙個名為 array.dll 的程式集 c csc out array.dll target library array1.cs 建立可執行檔案 從 cs ...