2013-03-14 35 views
1

我有一個C#Windows窗體應用程序(讓我們稱之爲App.exe)由於一個奇怪的原因而無法生成。這似乎是由於Visual Studio 2010中的一個錯誤。我無法升級到VS2012。由於未能刪除二進制文件導致Visual Studio生成錯誤

  • 代碼更改和構建後,VS2010似乎無法刪除舊的二進制App.exe。
  • 然後它發現舊二進制文件中的一些類型,並拋出錯誤「該調用在以下方法或屬性之間不明確」。
  • 錯誤消息中顯示的類型是相同的。所以我認爲它可以在舊的二進制文件和源代碼中找到類型。
  • 當我清理和重建,或從磁盤刪除舊的二進制APP.EXE,生成成功

這裏是我遇到了錯誤的類型的例子:

The call is ambiguous between the following methods or properties:  
'App.Namespace.Class.Method(System.Type)' 
and 
'App.Namespace.Class.Method(System.Type)' 

我將不勝感激任何幫助解決這個問題。

EDIT

這是由在App引起具有集引用到自身。不知道這是怎麼發生的,但是當我刪除參考時,問題就解決了。

+0

你試過刪除bin和obj文件夾嗎? (首先進行備份)。 – Jaxedin 2013-03-14 12:17:21

+0

你是如何管理的:)我打算說lib的兩個版本 – NSGaga 2013-03-14 12:30:18

回答

0

您是否嘗試過創建新項目?只需製作一個新項目並添加現有文件即可。 您也可以嘗試刪除解決方案文件夾中的bin和obj文件夾。

修訂

這是怎樣的一個自動化的黑客攻擊,但它應該工作。 右鍵單擊您的項目並打開其屬性。轉到生成事件,並輸入在預生成事件以下命令行:

cd $(TargetDir) 
del *.exe 

這將在構建之前刪除舊的二進制文件。 希望這有助於。

+0

試圖刪除bin和obj文件夾,沒有幫助。另外App.exe有1000行代碼和100多個文件,重新創建項目文件不會很有趣。 – gls123 2013-03-14 12:23:21

+0

檢查我的更新答案。 – Mogipogi 2013-03-14 12:31:33

相關問題