2012-09-13 97 views
2

我們最近嘗試將我們的軟件升級到.net 4.0。我們遇到了一個小麻煩,而不是花時間去追蹤所有的東西,我們決定恢復到.net 3.5。降級到.net 3.5後找不到Linq

我們遇到了一些問題,如.resx文件沒有正確恢復,但它們已被修復。我們遇到的最後一個問題是一些項目現在不通過命令行構建(一切都在之前)。所有情況下的錯誤如下。

類型或命名空間名稱「的Linq」不存在命名空間「系統」(是否缺少程序集引用?)

我們使用Visual Studio 2010中存在的MSBuild的命令行版本,每個項目都有已經改爲3.5的框架。這些項目仍然會在IDE中構建,但我們手動構建它們相當耗時,而不是由我們的自動化腳本構建。

還值得注意的是,所有未構建的項目都是Web項目。在web.config中我看不到一個版本= 4.0.0.0的參考。

+1

你是如何「回覆到.net 3.5」的? –

+0

我想你沒有參考'System.Core.dll'。通過更改目標框架回復了 – CodesInChaos

+0

。 –

回答

2

CodesInChaos部分是正確的。雖然UI顯示了對System.Core的引用,但在.csproj文件中沒有實際的引用。這必須手動添加。這解釋了爲什麼UI會生成,但命令行不會。

+1

這只是解決了我的問題我一直在大部分時間把我的頭髮拉到解決:p謝謝! 值得注意的是,Visual Studio不會讓我添加System.Core,並且如果我嘗試這樣做會出錯 - 所以我不得不在記事本中手動修改csproj。 – DashRantic