Delphi 10西雅图试用版无法编译任何内容,给出MSBuild错误

cngwdvgl  于 2023-08-04  发布在  其他
关注(0)|答案(3)|浏览(131)

下载并安装了 Delphi 10试用版。然而,每当我尝试构建任何东西时,我都会得到这样的结果:未为“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\12.0”定义的ToolsVersion“12.0”指定MSBuildToolsPath,或指定值计算为空字符串
12.0键不存在于我的电脑上的“ToolsVersions”中。但是我但是有2.0,3.5,4.0和14.0。我也有一个完整的,完美工作的Visual Studio 2015社区安装,如果这些知识有帮助的话。我正在运行Windows 10 Pro,64位。我可以做些什么来纠正这个问题?这是我第一次遇到任何版本的 Delphi /RAD Studio的问题。我实际上并不知道Rad Studio IDE关心或使用或与MSBuild有任何关系,直到现在。

brgchamk

brgchamk1#

我在 Delphi 中解决了我的问题,需要Msbuild 14,我只是下载并安装了与我的错误消息匹配的msbuild,在我的情况下:https://www.microsoft.com/en-us/download/details.aspx?id=48159
我想你可以从微软网站下载msbuild,看看它是否工作。

t2a7ltrp

t2a7ltrp2#

这是一个已知的问题,记录在这里:https://community.embarcadero.com/article/technical-articles/16202-msbuildtoolspath-is-not-specified-for-the-toolsversion
此错误是由注册表中不正确的值引起的。在32操作系统上,运行regedit并导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild。在64位操作系统上,运行regedit并导航至HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild。首先,通过选择文件备份此注册表项|导出。接下来,查看ToolsVersions键下面的数字。删除在MSBuild级别未找到的任何编号。有传闻证据表明,这种注册表项不平衡是由卸载某些版本的Visual Studio造成的,但目前还没有得到证实。
由于我一直在安装/卸载各种VisualStudio版本(包括预览版),我猜这确实是由这个原因引起的
错误“A default tools version“2.0”was designed,but it definition cannot be found.“如果您按照第一篇文章的建议删除了2.0密钥,可能会出现错误。解决方案是编辑x32和x64提到的注册表位置中MSBuild项下的每个值,并将DefaultToolsVersion更改为14.0或其他安装的最高MSBuild工具版本
请注意,在x64计算机上,您需要修复x32和x64注册表位置的这两个问题,因为IDE是32位进程,如果仅修复x64位置,则会在内部失败,在源代码中的uses子句中对所有标准单元加下划线,并显示“无法解析单元名称xx”
另外,安装这个可能会很有用:https://www.microsoft.com/en-us/download/confirmation.aspx?id=48159
了解这一点可能也很有用(从https://msdn.microsoft.com/en-us/library/bb383985.aspx复制):
优先顺序
用于确定ToolsVersion的优先级顺序(从最高到最低)为:用于生成项目的MSBuild任务上的ToolsVersion属性(如果有)。
msbuild.exe命令中使用的/toolsversion(或/tv)开关(如果有)。
如果设置了环境变量MSBUILDTREATALLTOOLSVERSIONSASCURRENT,则使用当前ToolsVersion。
如果设置了环境变量MSBUILDTREATHIGHERTOOLSVERSIONASCURRENT,并且项目文件中定义的ToolsVersion大于当前ToolsVersion,请使用当前ToolsVersion。
如果设置了环境变量MSBUILDLEGACYDEFAULTTOOLSVERSION,或者未设置ToolsVersion,则使用以下步骤:
项目文件的Project元素的ToolsVersion属性。如果此属性不存在,则假定它是当前版本。
MSBuild.exe.config文件中的默认工具版本。
注册表中的默认工具版本。有关详细信息,请参见标准和自定义工具集配置。
如果未设置环境变量MSBUILDLEGACYDEFAULTTOOLSVERSION,则使用以下步骤:
如果环境变量MSBUILDDEFAULTTOOLSVERSION设置为存在的ToolsVersion,请使用它。
如果在MSBuild.exe.config中设置了DefaultOverrideToolsVersion,请使用它。
如果在注册表中设置了DefaultOverrideToolsVersion,请使用它。
否则,请使用当前ToolsVersion。

nbysray5

nbysray53#

很好,Sandro Adad你的建议立即帮助并修复了 Delphi 10.4中的打开项目:-)安装Microsoft Build Tools 2015后,添加了Delphi在注册表14.0中报告的条目。
x1c 0d1x的数据

相关问题