2009-12-02 107 views
0

我使用的是VS 2008 Developer Edition,並發現測試項目存在一些錯誤。VS2008單元測試項目錯誤

我得到一個沒有道理的錯誤 - 我有一個名爲'Foo'的類,我需要測試並自動創建空白測試類。

Foo在構造函數中需要3個參數 - IBar,IBaz,IBang。當我編寫一個測試用例時,我將Dim foo作爲New Foo(bar,baz,bang),並且我有時會得到一個錯誤,說='類型IBang不能隱式轉換爲IBang'。這個錯誤沒有任何意義。

更奇怪 - 如果我切換到Foo_Accessor()的實例,那麼錯誤就會消失。我已經玩過引用,然後我可以最終修復上述錯誤 - 但是,然後對於我的Foo_Accessor()類,我得到了同樣的錯誤!

我清理,重建,有時錯誤將消失 - 但後來我得到錯誤'Foo_Accessor'未定義。現在我去Foo類,再次'創建訪問器' - 同樣,它仍然會給出相同的錯誤。所以在這一點上,我被卡住了,我的解決方案將無法編譯,我做的唯一事情就是通過visual studio添加一個新的測試用例!

有沒有人看到這些問題,可以請幫助?

另外 - 我已經嘗試了一切,包括來自MS的指令,例如 - 重命名類型,重新引用項目/以不同的方式,卸載項目等等等等。仍然結束了'ifoo不能轉換爲ifoo'錯誤或Foo_Accessor未定義錯誤...我即將分解並給予該詛咒的屬性,我必須檢查ReadOnly存取器...!

回答

1

確實很難說,但它聽起來像你有一個問題,你的引用被設置不正確。這裏可能發生的情況是你的項目之間的引用之一被設置爲DLL引用與項目引用。這可能會混淆類型系統,認爲來自項目的Bang和來自DLL的Bang實際上是不同的類型。

我會刪除我的項目之間的所有引用。然後再將所有這些添加回來,小心地從添加引用對話框的項目選項卡中選擇項目與瀏覽項目。這應該可以解決你的問題。

這是一個多語言項目或只是一個單一的語言項目?我發現這種類型的問題更有可能發生在多語言項目中,但它確實發生在單一語言中。