使用面向 .NET 2.0 的 MSBuild 构建新的 Visual Basic 项目

问题描述 投票:0回答:1

我在 VS 2010 和 2012 中针对 .NET 2.0 构建 VB 项目都没有问题。

但是,MSBuild 拒绝构建它,因为它不喜欢 VS 2010 中引入的一项 VB 语言功能(更具体地说,是“隐式行延续”)。

我尝试了 MSBuild 的以下参数(来自 .NET 3.5):

/p:TargetFrameworkVersion=2.0
/toolsversion:3.5

这不会构建,因为我使用的 VB 功能已在 4.0 工具中引入。

所以我将工具版本更改为 4.0(并使用 .NET 4.0 中的 MSBuild):

/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 构建项目。

vb.net build msbuild
1个回答
1
投票

类似的问题和答案这里。 他们的关键是:

msbuild YourSolution.sln /tv:4.0 /p:TargetFrameworkVersion=v2.0
© www.soinside.com 2019 - 2024. All rights reserved.