【发布时间】:2020-02-26 21:40:04
【问题描述】:
我正在设置一个新的 TeamCity 构建代理。几个在现有代理上运行良好的构建配置在新代理上失败,出现如下错误(为清楚起见添加了空格):
[22:14:32][someproject.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\bin\Microsoft.VisualBasic.CurrentVersion.targets(322, 5):
error MSB4019: The imported project
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\bin\Roslyn\Microsoft.VisualBasic.Core.targets"
was not found.
Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
注意第三行“导入的项目”之后的路径。错误是正确的;该文件夹确实存在,但该文件在那里不存在。然而,Microsoft.VisualBasic.Core.targets 文件确实存在于稍微不同的路径
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Roslyn\Microsoft.VisualBasic.Core.targets
是否有一个简单的解决方法,也许是一个告诉 MSBuild 去哪里查找的注册表项?
【问题讨论】:
-
手动将第二个文件夹的内容复制到第一个文件夹确实使构建工作(或者至少克服了那个错误;我还有其他错误要解决)。
-
根据teamcity-support.jetbrains.com/hc/en-us/community/posts/…之类的帖子,严格来说是TeamCity问题,你没有使用正确的标签,并且调查的方向也错误。
-
@LexLi 您回复了一个链接,指向一篇已有一年多的帖子,关于不同版本的 TeamCity。虽然您声明答案包含在您链接到的“类似”的帖子中可能包含对我的问题的实际答案,但您的实际链接对我来说完全没用。 “朝错误的方向调查”也没有任何意义。非常感谢您提供正确的标签。
-
你还在用VS2017,它也不是新的。我使用链接的帖子向您展示了要挖掘罪魁祸首,您应该关注 TeamCity 代理配置,尤其是它如何检测 MSBuild。在您的机器上,安装了两个 VS 2017 副本,专业版和原始构建工具。您没有为 Professional 安装 VB 位,而为 Build Tools 安装了,所以当 TeamCity 更喜欢 Professional 时,问题就发生了。要解决此问题,您要么强制 TeamCity 使用构建工具,要么将 VB 添加到 VS Pro 安装中。它们都不是“容易修复”或注册表黑客。
-
@LexLi 虽然我同意 VS2017 不是新的,但实际上您最新回复中的所有内容都是新的——对于本次讨论。您之前的消息或链接中均未显示任何内容,感谢您抽出宝贵时间提供此信息。如果您将该评论提升为答案,那么我会接受它。
标签: msbuild teamcity visual-studio-2017-build-tools