2013-02-15 67 views
25

在編寫我的Visual Studio C#項目,我收到以下錯誤:該項目在「資源」參數中指定了多次。重複的項目不是由「資源」參數支持

The item "obj\Debug\SampleProject.Forms.MDIMain.resources" was specified more than once in the "Resources" parameter. Duplicate items are not supported by the "Resources" parameter.

但是我尋覓了很多互聯網上,但沒有一個解決方案爲我工作。

我試圖刪除表單並重新將其添加到項目中,但它不適用於我。

我只有一個resx文件。

我使用VS 2010

而且,我嘗試以下解決方案,但它不是爲我工作:

  1. https://stackoverflow.com/a/7928191/2074603
  2. https://stackoverflow.com/a/10066009

回答

15

最近我有這個問題,我想我知道我的具體情況,所以也許它會幫助你。

我曾使用Visual Studio IDE複製現有表單(我們稱之爲Form1)。我將它粘貼到同一個項目中(它的格式爲Copy of Form1

然後,我將該新副本重命名爲Form2

我花了一段時間,但我最終發現了IDE都改名和Form1Copy of Form1Form2

的文件名是正確的...只是實際的類中被命名。

我手動將原件重命名爲相應的類,並且瞧了,它工作正常。

+2

還取決於文件的類型,但我遇到了這個同時用XAML文件的工作 - 我想這可以應用到其他文件要求VS通常使用設計師。通過查看代碼打開您已複製的文件,並確保所有名稱均已清理完畢。就我而言,VS並不知道更好地重命名XML中的某些變量。 – Mattygabe 2013-11-25 21:46:58

+0

@Mattygabe:謝謝!很高興知道。 – 2013-11-26 15:50:34

+0

這正是我的問題。我還將表單複製/粘貼到同一個項目中,重命名並不完全重命名所有內容。我還必須在Form.Designer.cs文件中重命名新粘貼的表單的類名。 – 2016-03-11 16:24:52

3

我有同樣的錯誤,在我的情況下,我解決了這個問題,如下所示。

enter image description here

下高光部分是另一個文件some_name_not_equal_to_main.resx和取出後,我的程序開始正常運行。

希望這對你有所幫助。

1

重命名文件後,重命名類和新創建的文件中的所有構造函數。默認情況下,文件的名稱會更改,但其中的類的名稱不會更改。所以做需要。

1

我只是有這個相同的問題。不確定確切的語義,但它與維護多個文件爲部分'Main'表單類有關。

在我的情況下,IDE將它的頭部添加了表單初始化例程給一個不是「主」形式的部分類文件。

這創造了兩個「主要」形式和衝突。

只需查找添加的初始化函數並刪除它們以及關聯的.resx文件,即可解決問題。

0

如果您已創建表單的副本,請轉至屬性並更改複製表單的名稱。

在大多數情況下,它會在您創建表單副本時發生。當您創建表單的副本時,新表單與舊錶單具有相同的名稱。這是不是舊的形式的名稱改變。

從這個例子:

我曾使用Visual Studio IDE中複製現有的形式(姑且稱之爲Form1中)。我將它粘貼到同一個項目中(它以Form1的副本形式出現)。 現在去「Form1的複製」 []如果你已經改名那麼這將是該名稱] 進入屬性 更改名稱到窗體2(或任何你想要的類名)

,它應該工作。

此外,請記住,當您重命名類名稱時,代碼中對類名稱的引用也可能會發生更改。所以請謹慎。在更改名稱後,我會建議重新編譯代碼,這樣如果引用被更改,那麼您可以恢復到原始類名(本例中爲Form1)。然後你可以開始使用新的類引用。

16

簡單!

  1. 右鍵單擊您的項目,然後選擇「卸載項目」

  2. 再次右鍵單擊和「編輯your_project.csproj」

  3. 搜索錯誤消息中提到的重複文件和刪除它們。

  4. 保存和關閉。

  5. 單擊鼠標右鍵,選擇「刷新工程」 view image

+0

這就在這裏。對我來說問題是共享解決方案的'.projitems'文件引用同一個文件兩次。只要查看所有proj('.csproj','.vbproj'等)文件中的錯誤消息所說的任何文件名就是重複的。然後只刪除所有引用它的行。 – CooperAtlas 2016-11-25 12:55:40