我在安装完MS CE U12和U12的SDK ,VS2017后,按照配置打开SDK后,bamke -a出现以下错误提示,请问怎么解决?
BMAKE: Error - Cannot find the .Net tools location for this toolset. VS2017_DotNetToolsDir was not defined, and registry lookup failed.BMAKE: call trace line: 96, C:\PROGRA~1\Bentley\MICROS~2\mki\VCVarsQueryRegistry2017.mki line: 960, C:\PROGRA~1\Bentley\MICROS~2\mki\AssertToolSet.mki line: 114, C:\PROGRA~1\Bentley\MICROS~2\mki\ConfigurePolicy.mki line: 26, C:\PROGRA~1\Bentley\MICROS~2\mki\mdl.mki line: 22, C:\PROGRA~1\Bentley\MICROS~2\examples\DialogBoxes\myapp\myapp.mke
请用如下修正过的mki文件覆盖SDK中对应的文件。这个是U12 SDK的一个已知Bug,以前讨论过。
https://communities.bentley.com/cfs-file/__key/communityserver-discussions-components-files/343510/VCVarsQueryRegistry2017.mki
Answer Verified By: jun lu
问题已经,对于下面新出现的问题,是VS安装的时候注册表的问题,我在站内找到了相同的问题,用相同的方法得到了解决,谢谢!!!!
朋友,请问你站内的那个解决问题的连接能不能给一个,我碰到了和你一样的问题。
除了用新的VCVarsQueryRegistry2017.mki覆盖系统原有的意外就是导入如下注册表文件即可:
https://communities.bentley.com/cfs-file/__key/communityserver-discussions-components-files/343510/Import.reg
谢谢老师,已经解决了~
我今天也遇到了同样的问题,参考了上面方法也没有解决。我发现并解决问题的思路如下:
No1: 我最开始是百度和在优先社区查询了红色部分提示,找到这篇blog,但还是没用解决问题。
No2: 解决思路》》在同事指导下,从line: 96, c:\PROGRA~1\Bentley\MICROS~2\mki\VCVarsQueryRegistry2017.mki这一行入手,作为程序出错第一次出现的地方,我打开了VCVarsQueryRegistry2017.mki文件(该文件是已经用本blog中提供的文件替换过),如下图,同时打开了注册表。发现.mki文件要求的SDK版本是4.6.2,但是注册表只有4.6.1 (我前面已经写入了import.reg)。这时我才发现安装VS2017(community版本)时,没用安装.NET Framework SDK 4.6.2,故在VS2017安装程序中修改添加该版本组件。
No3: 当以为大功告成,后续又出现一个问题…… 如下图 error : unexpected end of file in preprocessor
按照上步解决思路,定位在54行,是一行空行,懵圈了一会,最后还是在同事的帮助下,在文件最后一行加了一行空行,才成功解决。(不知道是不是语法就应该这样写,有些行后需要加空行结束)
本程序是在社区的一步一步学习https://communities.bentley.com/communities/other_communities/bdn_other_communities/w/chinabdn-wiki/41035/c-cli-addins 全部复制粘贴的。
第一次在社区提交问题,希望对遇到同样问题的人有帮助!
非常感谢您的分享。
MSCE SDK所需用的.NET Framekwork版本本身也是在不断升级中的,原来是用过4.6.1的。
另外,mke文件最后是需要一个回车的。由于论坛中贴了带有回车的空行会被自动删除。我会在该文章处做个注释,以免后续用户遇到同样的困难。同时,该文章的尾部贴有完整的源代码压缩包,里面的mke文件是正确的。