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構建項目。
寫「/p:TargetFrameworkVersion=2.0」而不是「/p:TargetFrameworkVersion=v2.0」做到了!有趣的是,不使用'v'字母在我的其他項目上工作... – Libor