tfs 构建服务器 - 字符串插值 $ 字符无效
tfs build server - string interpolation $ Character is not valid
我在我的代码中使用 $
进行字符串插值。它编译得很好,但是当我签入我的代码时,构建服务器抛出错误 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.0\Bin>MSBuild /tv:14.0 "Proj.sln"
,代码编译文件。但是,如果我将上述参数更改为
C:\Program Files (x86)\MSBuild.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 中编译。
when i check in my code, the build server throws an error
,看来您使用的是 CI 版本。您也可以尝试手动对构建进行排队。并在本地构建您的代码以缩小是否与您的 TFS 环境相关的范围。
同时查看构建中的事件视图 agent/server,如果有一些有用的信息。
没有 TFxxxx 的错误 BC30037: Character is not valid
可能与您的代码或语法有关。
- Check to see if an extra character has accidentally been inserted into the programming element.
- Check that the programming element is spelled or constructed using only characters that are valid for that kind of element
这里的答案解决了我的问题:
对于我们这些不是每天都生活在构建模板中的人来说,这里是让它为我工作的步骤:
首先找到与您的构建关联的模板(如果您已经知道在哪里可以找到它,请跳过几个步骤)。
只需右键单击构建定义并select编辑构建定义
Select Process 选项卡,您将看到模板的名称(如果您没有自定义它,很可能是 DefaultTemplate)。在最右侧单击“显示详细信息”以查看模板的路径。
转到“团队资源管理器”下的“主页”选项卡,然后单击“源代码管理资源管理器”
找到模板文件,双击编辑。它应该出现在这样的图形视图中。滚动直到找到 运行 MSBuild for Project
单击此项将立即显示属性
单击右侧的小图标 - 不要尝试输入它,因为它可能会爆炸并崩溃 Visual Studio。
在引号中输入以下 "C:\Program Files (x86)\MSBuild.0\bin"
现在是最重要的部分
对我来说,运行 MSBuild for Project 在两个地方。
所以我只是在这两个地方重复了上述步骤,然后在我签入 .xaml 文件后,我的构建最终运行良好。
您可能需要从 TFS 工具中回收代理/控制器。
我在我的代码中使用 $
进行字符串插值。它编译得很好,但是当我签入我的代码时,构建服务器抛出错误 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.0\Bin>MSBuild /tv:14.0 "Proj.sln"
,代码编译文件。但是,如果我将上述参数更改为
C:\Program Files (x86)\MSBuild.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 中编译。
when i check in my code, the build server throws an error
,看来您使用的是 CI 版本。您也可以尝试手动对构建进行排队。并在本地构建您的代码以缩小是否与您的 TFS 环境相关的范围。
同时查看构建中的事件视图 agent/server,如果有一些有用的信息。
没有 TFxxxx 的错误 BC30037: Character is not valid
可能与您的代码或语法有关。
- Check to see if an extra character has accidentally been inserted into the programming element.
- Check that the programming element is spelled or constructed using only characters that are valid for that kind of element
这里的答案解决了我的问题:
对于我们这些不是每天都生活在构建模板中的人来说,这里是让它为我工作的步骤:
首先找到与您的构建关联的模板(如果您已经知道在哪里可以找到它,请跳过几个步骤)。
只需右键单击构建定义并select编辑构建定义 Select Process 选项卡,您将看到模板的名称(如果您没有自定义它,很可能是 DefaultTemplate)。在最右侧单击“显示详细信息”以查看模板的路径。
转到“团队资源管理器”下的“主页”选项卡,然后单击“源代码管理资源管理器”
找到模板文件,双击编辑。它应该出现在这样的图形视图中。滚动直到找到 运行 MSBuild for Project
单击此项将立即显示属性
单击右侧的小图标 - 不要尝试输入它,因为它可能会爆炸并崩溃 Visual Studio。
在引号中输入以下 "C:\Program Files (x86)\MSBuild.0\bin"
现在是最重要的部分
对我来说,运行 MSBuild for Project 在两个地方。
所以我只是在这两个地方重复了上述步骤,然后在我签入 .xaml 文件后,我的构建最终运行良好。
您可能需要从 TFS 工具中回收代理/控制器。