簡體   English   中英

命名空間類沖突

[英]Namespace class conflict

首先,我知道這是因為庫不好,但我沒有代碼讓他們解決這個問題。

XXX.dll在全局命名空間中包含類Util。 Util.dll具有命名空間Util。

當我包含兩個.dll時,我不能使用Util命名空間(錯誤1'.. \\ Util.dll'中的命名空間'Util'與'\\ XXX.dll'中的'Util'類型沖突)。

因為兩者都在全局命名空間中,所以我看不到別名如何解決這個問題。

什么是最好的解決方案? 現在我知道我可以創建另一個.proj,它不包括我需要的.dll和包裝類。 但這不容易做到;(

您應該能夠使用extern別名 - 它們允許您有效地限定您的意思是哪個程序集的引用。 Anson Horton對他們進行了很好的演練

是的,有一個解決方案可以解決您的問題。 轉到引用兩個程序集的項目中的References子文件夾。 對於使用全局Util的裝配,請右鍵單擊並按Properties Aliases屬性中,您應該具有global屬性。 例如將其更改為DLL1或其他。 現在,如果您想在文件中使用全局Util ,請在using語句之前添加以下內容:

extern alias DLL;

現在您可以像使用DLL.Util一樣使用全局Util

升級DevExpress項目時也可能會出現此錯誤

  1. 關閉Visual Studio
  2. 清除以下文件夾清除Temporary ASP.NET Files目錄:

    • C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\Temporary ASP.NET Files\\
    • C:\\Windows\\Microsoft.NET\\Framework64\\v2.0.50727\\Temporary ASP.NET Files\\
    • C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\Temporary ASP.NET Files\\
    • C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\Temporary ASP.NET Files\\
    • C:\\Users\\[your_user_name]\\AppData\\Local\\Temp\\Temporary ASP.NET Files\\
    • 重新啟動World Wide Web Publishing服務(“開始”菜單\\“設置”\\“控制面板”\\“管理工具”\\“服務”)。
  3. 清除項目的BinObj文件夾,並在必要時部署新的程序集;

  4. 重建您的應用程序

您需要使用“extern別名”語言功能。 看看這個由安森霍頓博客條目。

(或者只看Jon的回答。)

修復此文件夾的另一種方法是在文件夾名稱中繼承其命名空間。 確保您添加的任何文件夾在同一項目的根目錄中沒有相應的文件名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM