2011-10-26 103 views
5

有時(並非總是),當編輯「我的項目」頁面中的設置時,當我添加一個或從那裏編輯值時,I得到一個錯誤:'Settings is ambiguous between declaration in Modules '<project>.My.MySettingsProperty' and '<project>.My.MySettingsProperty'當我更改配置設置時,Visual Studio生成「Settings1.Designer.vb」

Visual Studio創建一個My Project\Settings.Designer.vb的副本,並在.vbproj文件中註冊它們。

發生這種情況時,我需要刪除Settings.Designer.vb,刪除Settings1.Designer.vb中的「1」,並刪除vbproj文件中的引用。

當我編輯一個Telerik ORM模型(一個複製到designer1.vb的designer.vb文件)時,也會發生這種情況,在這種情況下,這個designer.vb文件事後是空的。

這是問題的另一種描述,由別人(誰沒有2009年以來的答案礦井除外):http://social.msdn.microsoft.com/Forums/en-AU/vbide/thread/29e7b9ff-5cdc-456b-9d2f-bc85145e8eaf

你能想到的可能來源,但更重要的是,一個可能的修復?

我使用的是Visual Studio 2008 Standard,而這個問題幾個月前沒有發生過。

感謝

+0

以前從來沒有聽說過這個問題,這是非常罕見的。它必須是環境的,某種VS附加組件可能會導致混亂。 –

+0

也許;我確實遇到了問題(設置未被讀取,並且在我打開的每個解決方案的根目錄下創建了一個「Visual Studio 2008」文件夾),但是我重新安裝了它,現在它可以正常工作。也許別人也有這個問題? – thomasb

回答

8

我從這個遭受過,與Visual Studio 2008,搞亂身邊時過多使用應用程序設置。該修復描述爲here

總之,在項目文件中,.settings文件的XML元素中有一個LastGenOutput XML元素。如果Visual Studio決定將1添加到生成的.Designer.cs文件名中,則該文件將保留到LastGenOutput XML元素。只要您不恢復項目文件中的這一更改,Visual Studio就會繼續使用新的.Designer.cs文件。


更新

使用Visual Studio 2008年再現2010年和2013年更新1

  1. 創建使用設置設計一個新的.settings文件。
  2. 在設計器中,按「查看代碼」,這樣就會生成一個伴隨文件。
  3. 確保伴隨文件與其他兩個文件位於同一目錄中。
  4. 排除項目中的所有三個文件。
  5. 顯示項目的隱藏文件。
  6. 卸載項目。
  7. 重新加載項目。
  8. 包含三個文件。請注意,設計器文件現在顯示在伴隨文件的下方。
  9. 更改設計器中的設置並保存。注意如何生成第二個.Designer.cs文件。
+0

項目文件是以'.vbproj'結尾的文件。 – Dargmuesli

+0

對於Visual Basic.vbproj項目,文件結尾爲.vb,用於C#.csproj項目,文件結尾爲.cs。否則,這個問題是等價的。 – tm1

1

我有一個使用Visual Studio 2013的類似問題:在項目的一般資源上插入一些新圖像時出現「模棱兩可的引用」。在這個無辜的變化之後,突然間無法編纂。

該錯誤顯示「模塊之間的歧義參考...」(並提及完全相同的模塊兩次),並重復所有可能的資源,圖像或文本。 也無法從資源列表中選擇控件的新圖像,並且某些窗口無法打開。

發生意外時,Visual Studio IDE會複製MyProject文件夾中的Resources.Designer.vb(創建另一個名爲「1」的文件:「Resources1.Designer.vb」)。

要糾正錯誤,我手工編輯了項目文件.vbproj,擦除對第二個Resources.Designer(Resources1.Designer)的引用。我也從MyProject文件夾中刪除了重複的文件。

做了這兩件事(項目文件的版本和刪除重複文件)後,項目恢復正常並且表現正常。

我希望這可以節省一些時間給別人有同樣的錯誤。 請刪除之前做一個備份! ;-)

相關問題