Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用Visual Studio 2017将Windows 7操作系统作为目标会出现一个缺少UCRTBASE.dll的错误_C++_.net_Visual Studio 2017 - Fatal编程技术网

C++ 使用Visual Studio 2017将Windows 7操作系统作为目标会出现一个缺少UCRTBASE.dll的错误

C++ 使用Visual Studio 2017将Windows 7操作系统作为目标会出现一个缺少UCRTBASE.dll的错误,c++,.net,visual-studio-2017,C++,.net,Visual Studio 2017,我有一个运行Windows7机器的客户端,我想让他生成一个可以在他的计算机上运行的.exe。然而,由于我运行的是Windows 10,我正在Visual Studio 2017中构建所有内容。我正在制作的程序是WrFrimeCLR C++程序。我把Windows 7的WINVER定义在一个C++文件中: #define WINVER 0x0601 将使用以下属性编译项目: 我给他发送了一个.exe文件,但当他打开它时,它会给他一个错误,说他缺少基于ucrtbased.dll的文件。我验证了他

我有一个运行Windows7机器的客户端,我想让他生成一个可以在他的计算机上运行的.exe。然而,由于我运行的是Windows 10,我正在Visual Studio 2017中构建所有内容。我正在制作的程序是WrFrimeCLR C++程序。我把Windows 7的WINVER定义在一个C++文件中:

#define WINVER 0x0601
将使用以下属性编译项目:

我给他发送了一个.exe文件,但当他打开它时,它会给他一个错误,说他缺少基于ucrtbased.dll的文件。我验证了他的计算机上安装了正确的.NET framework:


这可能是什么原因造成的?

构建并向他发送发布副本。他仍然需要相应的windows库

ucrtbase(通用C运行时)是msvc*运行时DLL的替代品

要获取正确的运行时,请参阅 还有可能
如果您有问题。

文件名以
d
结尾的运行时DLL通常是调试版本。您是否为您的客户机提供了调试版本?如果是这样,则无法重新分发这些DLL;你应该给你的客户一个版本的版本。客户端是否安装了VisualC++ 2017可重分发表?可能的副本实际上是正确的,我确实给他调试了一个版本,我会尝试给他一个版本版本。这是调试DLL,不能重新分配。这不是唯一的问题。我已经更新了我的答案。如果目标的版本早于8.1,则没有任何选项可添加。我想我在某个地方也看到,瞄准8.1也可以在Windows 7上工作?当我在VS2017安装程序上执行“修复”选项时,它给了我以下选项:嗯,在对谷歌进行了一番抨击后,Windows 8.1 SDK也是Windows 7开发的目标。因为那个原因,我错了。我会更正我的答案。所以只要给他发布版本和运行时,你就应该设置好了。