2012-11-11 214 views
7

更新1:我已上載我的項目文件夾的Dropbox - dropbox.com/s/8dfw3uprrynrhzx/S3Util.zipC#編譯器錯誤CS0433

我是新來的Visual Studio,我已經在C#中創建一個小的Windows運行時組件上的Visual Studio 2012 Express,用於Windows 8的。

我的組件由一個單獨的密封類組成,只有一個靜態方法。我已經添加了一個單元測試庫項目到解決方案來測試這個靜態方法。

(I接着this walkthrough創建一個單元測試)

當我生成解決方案,我得到以下錯誤:

Error 1     The type 'S3Util.S3Security' exists in both 'c:\workspace\vs\S3Util\S3Util\bin\Debug\S3Util.winmd' and 'c:\workspace\vs\S3Util\S3Util\bin\Debug\S3Util.winmd'
C:\workspace\vs\TestLib_S3Util\TestLib_S3Util\Test_Security.cs 18 27 TestLib_S3Util

error help page on Microsoft website表示它是一個編譯器錯誤CS0433。

但是,我的單元測試庫只包含一個對我的Windows運行時組件項目的引用,甚至我看到的錯誤消息指的是同一個.winmd文件兩次。請幫助我瞭解問題以及如何解決問題。

錯誤截圖:(點擊查看原圖)

+0

我的猜測是這是一個Visual Studio的錯誤。嘗試刪除bin和obj文件夾中的所有文件(手動通過Windows資源管理器或通過Visual Studio中的Clean Solution選項)。您也可能希望在刪除這些文件後重新啓動VS。 –

+0

我真的不知道那個錯誤可能指的是什麼,但是可能是因爲你引用了不同版本的庫?也許你正在引用一個編譯的DLL而不是你現有的項目? –

+0

謝謝你的迴應Hector。我刪除了bin和obj文件夾中的所有文件,重新啓動了Visual Studio並嘗試再次構建解決方案,但仍然收到相同的錯誤。也許,正如你所說,這是一個Visual Studio錯誤。我正在嘗試與微軟團隊取得聯繫。 –

回答

1

時,我不知道爲什麼會出現錯誤,我開始縮小的可能性列表的情況。我會做以下事情:

  1. 通過搜索尋找一個類S3Security。如果你發現其中2個 - 刪除一個。
  2. 嘗試刪除最近添加的一個引用並進行編譯。刪除,直到項目編譯。
  3. 嘗試刪除最新的文件/項目,直到解決方案編譯沒有錯誤。你也可以嘗試一個相反的動作,開始做你正在做的斯蒂克,並檢查在哪一步你會得到你的錯誤。讓我們知道它是什麼。
+0

謝謝你的迴應,雅羅斯拉夫。 1.這是我在Visual Studio中的第一個也是唯一一個項目,因此我在工作空間中找不到另一個S3Security 2.我添加了對S3Util項目的引用的唯一參考,並將其添加到我的單元測試項目中。 3.項目中只有兩個文件,一個.cs用於我的S3Util類,一個.cs文件用於我的單元測試 –

+0

@AnilRaj如何將類名從S3Security更改爲其他內容?它會抱怨新的名字,或者它是唯一被這樣對待的名字? –

+0

我剛剛也嘗試過,但我不斷得到相同的錯誤(與新的類名稱) –