2012-12-22 31 views
7

這是一個CLR項目。我正在導入兩個具有相同名稱的DLL文件,quizz.dll(我將舊版本重命名爲legacyquizz.dll),並將新版本作爲quizz.dll包含到傳統轉換器測試項目中。 (正在測試的傳統轉換器項目僅導入舊的quizz.dll)。「彙編相同的簡單名稱已被導入」錯誤

這是我得到的錯誤。 。 。

用相同的簡單名稱「QUIZZ, 版本= 2.0.0.1的組件,文化=中立, 公鑰=空已經導入。

嘗試刪除其中一個參考文獻或將它們簽署爲 並行啓用。 C:\ 。 。 。 \ Quizz.dll

它指向的路徑是更新版本quizz.dll的目標。

我使用的legacyquizz.dll文件外部別名:

extern alias legacy; 

什麼是「簡單的名字」在這種情況下?

+0

嘗試從其中一個quizz項目的項目屬性重命名程序集名稱。 – daryal

+0

我不能這樣做,它是灰色的。 – rbtLong

回答

4

您可以通過打開項目屬性,然後選擇大會信息,請參閱簡單的名字:

enter image description here

要登錄,您需要選擇簽名選項卡,並創建或選擇簽名密鑰集:

enter image description here

3

您有兩個名稱相同的程序集(不是文件名,程序集名稱)。有兩種解決方案:

  1. 重命名項目屬性中的一個程序集並重新編譯。
  2. 在組件上設置Strong-Name Signing以允許同一組件的兩個單獨版本共存。
-2

我也在我的項目中看起來這個問題。我已經改變了我的dll路徑到另一個文件夾,並改變了相同的參考路徑(依賴層)。它會工作。不會發生重複。

相關問題