2012-10-16 128 views
1

我沒有問題在VS 2010和2012再次.NET 2.0構建我的VB項目。構建新的Visual Studio項目與MSBuild目標.NET 2.0

但是,MSBuild拒絕構建它,因爲它不喜歡VS 2010中引入的一種VB語言功能(這是「隱含線延續」更具體)。

我嘗試以下參數的MSBuild(從.NET 3.5):

/p:TargetFrameworkVersion=2.0 
/toolsversion:3.5 

這不建的VB功能,我使用4.0工具相繼出臺。

因此,我改變toolsversion到4.0(使用的MSBuild從.NET 4.0):

/p:TargetFrameworkVersion=2.0 
/toolsversion:4.0 

現在的MSBuild抱怨另一件事:

C:\Users\Libor\AppData\Local\Temp\.NETFramework,Version=2.0.AssemblyAttributes.vb(6,24): 
error BC30002: Type 'System.Runtime.Versioning.TargetFrameworkAttribute' is not defined. 
[project.vbproj] 

現在對我來說,唯一的辦法是在VS 2008中打開我的項目並手動更正代碼,以便與所有工具兼容。但我希望MSBuild可以進行配置,因此它可以正確構建,因爲VS也可以針對.NET 2.0構建項目。

回答

1

同類問題和解答here。他們的關鍵將是:

msbuild YourSolution.sln /tv:4.0 /p:TargetFrameworkVersion=v2.0 
+0

寫「/p:TargetFrameworkVersion=2.0」而不是「/p:TargetFrameworkVersion=v2.0」做到了!有趣的是,不使用'v'字母在我的其他項目上工作... – Libor

相關問題