[英]Will Visual Studio 2010 only run 4.0 unit tests?
我有用 .NET 3.5 編寫的不同項目和一些單元測試項目來覆蓋它們。 將我的解決方案轉換為在 Visual Studio 2010 中使用時,我將所有項目保留在 3.5 中,但單元測試被強制為 4.0? 這樣我就不能再在我的常規項目中使用它們了。
結果是:無法加載文件或程序集“xxx.xxx.Core.UnitTest”或其依賴項之一。 此程序集由比當前加載的運行時更新的運行時構建,無法加載。
所以我不能對低於 4.0 的任何項目進行單元測試? 或者我在這里做錯了什么?
目前令人遺憾的答案是肯定的 - 僅支持使用 VS2010 (.NET 4.0) 創建的測試。
顯然這是故意完成的 - 請查看Microsoft Connect上的這個“錯誤”報告以了解詳細信息。
更新
在微軟看到他們的方式錯誤后,他們在 VS2010 SP1 中添加了 .NET 3.5 單元測試支持——完整的細節可以在這篇文章中找到。
您還可以重新定位現有的 .NET 4.0 單元測試 - 如何在 VS 2010 SP1 中將單元測試重新定位到 .Net Framework 3.5
雖然測試項目被轉換為 Visual Studio 2010 測試項目並針對 .NET 4.0 框架進行編譯,但幸運的是,您在測試中引用和測試的所有程序集仍然可以是 .NET 3.5(或其他)程序集。 否則將是災難性的。 但是是的,您不能再使用 Visual Studio 2008 來運行這些測試項目。
當然,一種解決方法是保留測試的源代碼,但有兩個不同的測試項目,一個用於 VS2008,另一個用於使用相同測試源代碼的 VS2010。 麻煩,但一個有效的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.