【发布时间】:2017-11-06 22:31:48
【问题描述】:
我在我的代码中使用$ 进行字符串插值。它编译得很好,但是当我签入我的代码时,构建服务器会抛出错误BC30037: Character is not valid。以下是我如何使用字符串插值的示例:
dim r = New RadNode($"{acq.FormNo} - ${CInt(acq.TotalAmount)}", icon:=RadTreeIcons.RedTriangle)
构建服务器已安装 Visual Studio 2015 企业版。
如果我从命令提示符运行:
C:\Program Files (x86)\MSBuild\14.0\Bin>MSBuild /tv:14.0 "Proj.sln",代码编译文件。但是,如果我将上述参数更改为
C:\Program Files (x86)\MSBuild\14.0\Bin>MSBuild /tv:12.0 "Proj.sln",我得到同样的错误
我也做了这些改变:
我已将MSBuildArguments 属性设置为/p:VisualStudioVersion=14.0,并更改了TFSBuild.proj 文件并将这一行更改为<Project DefaultTargets="DesktopBuild" xmlns="schemas.microsoft.com/developer/msbuild/2003"; ToolsVersion="14.0">",但同样的问题正在发生。
更改了 (web vbproj) 文件并将 ToolSet 版本从 12.0 更改为 14.0。解决方案的其他 vb 项目部分仍以 12.0 为目标,但作为 web vb 项目的一部分在 dll 中编译。
【问题讨论】:
-
您使用的是哪个版本? XAML 或 vNext 构建?您能否添加更多详细信息以进行故障排除,例如详细日志和您的环境。
-
我正在使用 XAML 构建。
-
嘿@Patrick-MSFT XAML 使用哪个版本的 msbuild 来构建,您可以像在 vNext 构建中那样设置版本吗?我记得 VS 中的构建配置对话框有一堆 msbuild 设置,但我不记得是否有办法设置 TFSBuild 用来设置运行 msbuild 的路径...可能是这种情况吗实例?
标签: tfsbuild string-interpolation