- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经安装了 Visual Studio 2015 并使用一些代码创建了 Win32 项目。我编译成功了,但是我无法启动exe文件,因为我没有一些ucrtbased.dll......那我该如何解决呢?
编辑:
英文等效消息是:
“程序无法启动,因为您的计算机中缺少 ucrtbased.dll。请尝试重新安装程序以解决此问题。”
最佳答案
这个问题来自 VS 2015 默默地无法复制 ucrtbased.dll
(调试)和 ucrtbase.dll
在安装 Visual Studio 期间(发布)到相应的系统文件夹中。 (或者您在安装过程中没有选择“Visual C++ 2015 的常用工具”。)这就是重新安装可能会有所帮助的原因。但是,重新安装是一种极端措施……无需完全重新安装即可解决此问题。
首先,如果您并不真正关心潜在问题并且只想让这个项目快速运行,那么这里有一个快速解决方案:只需复制 ucrtbased.dll
来自 C:\Program Files (x86)\Windows Kits\10\bin\x86\ucrt\ucrtbased.dll
(用于 32 位调试)到可执行文件旁边的应用程序的\debug 目录中。然后它将被找到并且错误将消失。但是,这只适用于这个项目。
更持久的解决方案是获取 ucrtbased.dll
和 ucrtbase.dll
进入正确的系统文件夹。现在我们可以开始将这些文件复制到\Windows\System32 和\SysWOW64 中,它可能会解决问题。然而,这不是最好的解决方案。这首先失败是有原因的,并且以这种方式强制使用特定的 .dll 可能会导致重大问题。
最好的解决方案是打开控制面板 --> 程序和功能 --> Microsoft Visual Studio 2015 --> 修改。然后取消选中“Visual C++ --> Visual C++ 2015 的常用工具”。单击下一步,然后单击更新,几分钟后,应卸载常用工具。然后重复,但这次安装通用工具。确保禁用了防病毒,没有打开其他任务等,它应该可以工作。这是确保将这些文件准确复制到应在的位置的最佳方法。
错误代码 :请注意,如果安装程序返回一个神秘的错误编号,例如 -2147023293,您可以使用任何免费的在线十进制到十六进制转换器将其转换为十六进制。对于这个错误,它是 0xFFFFFFFF80070643,删除 FF 并在谷歌上搜索“0x80070643”意味着“0x80070643 - 安装缓存或 ISO 已损坏”。
为什么是 ucrtbased.dll
甚至需要? : 任何名为“crt”的 DLL 都是“C-Run-Time”模块或库。 Microsoft explains them best .今天有许多 CRT 变体。它们包含所有 Microsoft 编译的可执行文件使用的基本帮助代码,以“填充”或帮助您的可执行文件在不断增长的操作系统版本和硬件上运行。如果使用 MSVC 编译器,相关的 CRT DLL 会在编译时自动链接。 (如果在编译时找不到 DLL,则会生成链接错误。)
一种方法 不是 需要 DLL,是将其“静态链接”到您的项目。这意味着您实际上获取了ucrtbased.dll
的内容。 ,并将其包含在您的可执行文件中。您的文件大小将增加大约 ucrtbased.dll
.
顺便说一句,如果你曾经运行过一个 MSVC 程序(通常来自另一个人,你从以前的操作系统版本中编译的旧程序之一,或者你来自另一台机器的程序)并且它没有启动,并给出错误消息需要“Microsoft Visual C++ 20xx Redistributable”或“run-time”——这意味着它找不到所需的*crt*.dll
文件。安装该特定的可再发行包(如果已知)将安装 DLL,并允许程序运行......或者至少克服该错误并提醒您另一个丢失的 DLL。
如果您发现自己处于这种“DLL hell ”的困境中,请在 Google 上搜索“dependency walker”以获取高级工具,以显示哪些 DLL 仍然缺失。专业软件通常不会发生这种情况,因为它们的(大型、捆绑的)安装程序会检查任何缺少的依赖库(包括 CRT)并首先安装它们。
关于visual-studio - 为什么 Visual Studio 2015 无法运行 exe 文件 (ucrtbased.dll)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33743493/
我正在努力处理不同的 R 可执行文件。在批处理文件中运行命令行时,R.exe(带或不带 CMD BATCH 选项)、Rcmd.exe、Rscript.exe 和 Rterm.exe 有什么区别? 两者
这个问题是我之前问题的一个答案的扩展:how to save user registration in the exe... (C#) . 这个想法本身对我来说仍然很新,但它似乎是合理的。我第一次尝试
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 12 年前。 Improve thi
我正在使用 React VR 制作一个 WebVR 应用程序。我将使用 Oculus Rift 和 HTC-Vive 测试该应用程序。我正在使用浏览器 Firefox Nightly 来访问 WebV
当我从 A.exe(位于 c:/my_software/FOLDER_A/A.exe)运行 B.exe(位于 c:/my_software/FOLDER_B/B.exe)时,两者均使用 cx_Free
我有一个以前的程序员留下的exe(GUI),它是在cpp中完成的,但是我需要禁用程序中的一些键盘键,因为当它们被意外击中时,这是不可取的。我正在使用 Windows。 我能否编写一个程序来在 Wind
这不是以下 SO 问题的重复: How do I tell if a win32 application uses the .NET runtime . 如果给定的 exe 文件是 .net exe
我刚刚安装了 ActivePython 3.6 的 64 位版本,发现它包含三个可执行文件,它们报告相同的版本信息,大小相同,但不完全相同,即peer fc.exe。我有 python.exe pyt
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
有哪些方法可以保护exe文件免遭逆向工程。有很多打包工具可以打包exe文件。这种方法在http://c-madeeasy.blogspot.com/2011/07/protecting-your-c-
仅当应用“X”(Inspect.exe | Narrator.exe | Magnify.exe)正在运行时,我才能在 Windows 应用程序中获取一些 IUIAutomationElements。
我正在编写一个创建 Windows 服务的程序。所以我需要两个 .exe 文件——一个用于程序,创建服务,另一个用于服务本身。但是我想将这两个文件合二为一。我有以下想法 - 打开 .exe 文件,我想
我有一个 UWP 应用,我需要从 users %appdata% 文件夹中启动一个 .Exe 文件。 我不知道如何找到 %appdata% 或如何启动 Exe 文件。 我已经查看了所有解决方案,但没有
我最近安装了 Visual Studio 2017,MSBuild.exe 不是应该自带的吗? bash 脚本之一正在调用它,但找不到任何东西。 这是 build.bat 产生错误的部分(您可以看到整
我正在我自己的代码中尝试来自 Mad-collections(用于在 exe 中添加/删除或更新资源的单元)中 Madres 单元的不同功能。这适用于小型资源(小于 50 MB),但对于较大的资源(大
什么是PreEmptive Protection Dotfuscator exe文件的Map.Xml和Dotfuscator1.Xml文件。我应该出于某种原因保留它们,还是项目 exe 文件组装需要它
我最近接手了一个项目,我不确定最后一个人是如何调试这个的......我有两个可执行文件,一个最终运行另一个。我将它们称为 exe1 和 exe2。这些是用 C# 创建的,我使用 Visual Stud
如何从 REBOL 脚本创建 Windows 可执行文件 (.exe)?有任何说明或视频吗? 最佳答案 使用 Rebol 2 最简单的方法是使用 SDK - 尽管这需要花钱购买许可证。该方法称为封装。
我正在尝试打开下载的 .exe 文件,但它在打开后立即关闭。有什么可能的方法可以让我打开它更长的时间来阅读内容。 最佳答案 它可能是一个控制台应用程序而不是一个 GUI 应用程序。使用命令提示符运行
我想运行一个位于以下目录中的应用程序: C:\LCR 12\stu.exe 使用 AutoIt,运行上述 stu.exe 文件的代码是什么? 最佳答案 像这样: Run("C:\LCR 12\stu.
我是一名优秀的程序员,十分优秀!