2010-05-05 66 views
4

我們將從Dev Studio 2005升級到Dev Studio 2010.我在Visual Studio 2010中打開了我的2005解決方案,並通過轉換過程保留所有項目針對.NET 2.0。當我嘗試構建該項目時,我對Rhino.Mocks.dll的引用未能使用。我看到象這樣的錯誤:無法將Rhino Mocks 3.5添加到Visual Studio 2010中的.NET 2.0項目中

DalDiscoveryTest.cs(7,7):錯誤CS0246:(?是否缺少using指令或程序集引用)類型或命名空間名稱「犀牛」找不到

我進入我的項目,並刪除了對Rhino.Mocks.dll的引用,並試圖重新添加它。然後我得到一個對話框,內容如下:

'Rhino.Mocks.dll'或其某個依賴關係需要比項目中指定的更高版本的.NET Framework。您可以通過單擊「項目」菜單上的「屬性」來更改.NET Framework目標,然後在「.NET Framework」下拉框中選擇一個新目標。 ...

我使用的是「Rhino Mocks 3.5 for .NET 2.0」,可在http://www.ayende.com/projects/rhino-mocks/downloads.aspx處獲得。這個項目在使用.NET 2.0的Dev Studio 2005中生成良好。唯一的問題是我發現的問題是將測試項目的目標更改爲.NET 3.5,但我希望最初將更改最小化。

除了將目標更改爲更新版本的.NET之外,是否有解決此問題的方法?

+0

有關於這個問題,這仍然是尚未解決的至少兩個開放的bug報告: http://goo.gl/a5VE http://goo.gl/K3oA – 2010-05-06 17:40:24

+0

感謝吉姆。我在微軟的網站上創建了一個新的問題,因爲他們似乎無法重現其他問題。 https://connect.microsoft.com/VisualStudio/feedback/details/558676/unable-to-add-rhino-mocks-3-5-to-a-net-2-0-project-in-visual-studio -2010 – Eli 2010-05-12 17:25:59

+0

似乎Visual Studio 2010正在以先前版本沒有的方式確定程序集依賴關係。可悲的是,三種不同的產品 - 微軟報告,SubSonic和RhinoMocks - 現在都出現這個bug。該列表只能增長。它遲早必須得到解決。 – 2010-05-13 18:33:45

回答

13

我直接聯繫了MSDN支持以嘗試獲取此問題的修補程序。他們能夠在Visual Studio 2008和2010中重現此問題。沒有修復程序,但通過修改項目設置可以執行相對簡單的修復程序。

  1. 將對第三方DLL(Rhino.Mocks.dll)的引用添加到項目中,並通過單擊「是」忽略該警告。
  2. 單擊項目參考並在屬性窗口中修改Rhino.Mocks的「特定版本」爲「True」。
  3. 右鍵單擊Visual Studio 2010解決方案資源管理器中的項目節點,然後選擇「卸載項目」。
  4. 右鍵單擊項目節點並選擇「編輯您的項目名稱」。
  5. <Reference Include="Rhino.Mocks, ...">開頭的行之後,添加以下行:<SpecificVersion>True</SpecificVersion>
  6. 通過右鍵單擊項目節點並選擇「重新加載」來重新加載項目。
  7. 重建您的項目。

這對我有效。

+0

我有一個非常類似的問題,這解決了它對我來說。非常感謝。 – James 2010-07-19 08:34:57

+0

大幫忙;類似的問題。謝謝!!! – David 2011-06-24 21:45:40

+0

我遇到了同樣的問題。我只想補充一點,我已經不得不刪除並再次將參考添加到解決方案,然後按照您的步驟。其他方面,它沒有奏效。 – 2012-10-02 17:13:47

0

我剛剛遇到了這個問題。經過一番搜索,我發現this post from Chris May(謝謝克里斯!)

我想有一個名爲「期待」的靜態方法和擴展方法之間有衝突。

根據文章,我完全符合預期方法,並修復了問題#1。然後更改<SpecificVersion />問題,修復了我遇到的其他構建問題。

相關問題