在我的 .net 解決方案(Visual Studio)中的一個特定專案(用于 Web 服務)中,我添加了一個 using 指令:
using ourSystem.Common.WPF
我還在專案檔案中添加了相應的參考(指向 DLL)。
在我嘗試添加 WPF 專案之前,Web 服務專案編譯、構建和作業都很好。
當我添加 WPF 專案時,我收到錯誤訊息:
Error CS0234 The type or namespace name 'WPF' does not exist in the namespace 'ourSystem.Common' (are you missing an assembly reference?)
我在其他地方看過關于堆疊溢位和網路帖子的類似問題,但似乎沒有任何效果。
看來問題一定是檔案之間的某種不兼容。
注意:我正在處理的 Visual Studio 解決方案 (VS2019) 有多個專案,并且此 DLL/命名空間適用于許多其他專案,而不是我嘗試將其添加到的專案。
WPF 專案和我試圖參考它的專案都是 v4.5.2 因此,至少對于該屬性,它們應該是兼容的。
對于它的價值,我也嘗試過卸載專案并重新加載它們。這通常會將錯誤計數從大約 4(所有相同的訊息)更改為超過 100,并且似乎丟失了對所有內容的所有參考。
編輯補充: 事實證明,解決方案中許多專案的相對結構(我沒有在這個問題的原始帖子中描述)是找到答案的關鍵。如果有興趣,請參閱下面我自己的答案以獲取詳細資訊。
有關如何解決此問題的任何建議?
uj5u.com熱心網友回復:
我基本上可以按如下方式修復它:
我重構了目錄結構。
曾經是 A-> 頂級 GUI 專案,它被稱為 B & C
B-> 包含 A 使用的專案的檔案夾,包括 WPF,但不包括 Web 服務專案。
C-> 帶有 Web 服務專案的檔案夾
然后我將所有 C 移到與 B 相同的層。將它們放在同一個檔案夾中似乎可以“安撫”編譯器。
我并不是說這是絕對需要的,也不應該總是這樣做,但它在我的情況下是有效的。
我還必須在C 專案中重做一些代碼,以說明 C 自己的檔案夾(尤其是包檔案夾)中的不同分層,因為它仍然有遺留代碼,就好像它是頂級專案一樣。以下鏈接對此很有用:(尤其是 Nikita R. 的回答)
如何解決重新分層問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/507595.html
上一篇:將birt從4.4版遷移到4.9版。ava.lang.NoSuchMethodError:org.mozilla.javascript.Parser.parse(Ljava/lang/String;L