我已经安装了Visual Studio 2015,并且用一些代码创建了Win32项目。我成功地编译了它,但我不能启动exe文件,因为我没有一些ucrtbased.dll......那么我如何解决这个问题?
编辑: 相当于英文的信息是: "该程序不能启动,因为你的电脑中缺少ucrtbased.dll。试着重新安装该程序以解决这个问题;
这个问题是由于VS 2015在安装Visual Studio时默默地没有把ucrtbased.dll
(调试)和ucrtbase.dll
(发布)复制到相应的系统文件夹中。(或者你在安装时没有选择"Visual C++ 2015的通用工具")。这就是为什么重新安装可能会有帮助。然而,重新安装是一个极端的措施......这可以在不完全重新安装的情况下解决。
首先,如果你并不关心潜在的问题,只是想让这个项目快速工作,那么这里有一个快速的解决方案:只要从C:\Program Files (x86)\Windows Kits\10\binx86\ucrt\ucrtbased.dll
(用于32位调试)复制到你的应用程序的`debug目录下,与可执行文件一起。然后它就会被发现,错误就会消失。但是,这只对这*个项目有效。
一个更持久的解决方案是把ucrtbased.dll
和ucrtbase.dll
放到正确的系统文件夹里。现在我们可以开始把这些文件复制到 \Windows\System32 和 \SysWOW64,它可能解决这个问题。然而,这并不是最好的解决办法。这首先是有原因的,而且以这种方式强迫使用特定的.dll's可能会导致问题。
最好的解决方案是打开控制面板--> 程序和功能--> Microsoft Visual Studio 2015--> 修改。然后取消勾选并重新勾选"Visual C++ --> Visual C++ 2015的常用工具"。点击下一步,然后并点击更新,几分钟后,应该就可以工作了。
如果还是不行,再次运行修改工具,取消勾选"Visual C++ 2015的常用工具",并应用卸载该组件。然后再次运行,检查它,并申请重新安装。确保杀毒软件被禁用,没有其他任务被打开,等等,它应该可以工作。这是确保这些文件被准确复制到它们应该在的地方的最好方法。
请注意,如果修改工具在这一点上给出一个错误代码,那么这个问题几乎肯定是针对你的系统的。研究该错误代码,以找到出错的地方,并希望能解决它。
rdtsc解决方案对我不起作用。
首先,我使用Visual Studio 2015 Express,对于它的安装程序"修改"查询没有提出任何"Visual C++ 2015的通用工具"选项,你可以取消选择。
其次,即使经过2次卸载/重新安装(许多小时等待它们完成...),问题仍然存在。
我最终通过从一个独立的安装程序中重新安装整个Windows SDK(独立于Visual C++ 2015的安装)来解决这个问题: https://developer.microsoft.com/fr-fr/windows/downloads/windows-8-1-sdk 或 https://developer.microsoft.com/fr-fr/windows/downloads/windows-10-sdk
这为我解决了这个问题。