error MSB3411: Could not l oad the Visual C++ component “VCBuild.exe”

使用npm构建系统出现

error MSB3411: Could not l oad the Visual C++ component “VCBuild.exe”_第1张图片

 

node-gyp是一个用Node.js编写的跨平台命令行工具,消除了处理构建平台中各种差异的痛苦用于为Node.js编译本机addon模块。 

在WindowsXP/Vista/7上, node-gyp需要Python2.7和VisualStudio 

在Windows上


备选案文1

使用Microsoft的Windows-构建工具使用npm install --global --production windows-build-tools 使用cmd.exe(以管理员身份运行)。即使python2.7已经安装,它也会安装构建工具和python2.7

error MSB3411: Could not l oad the Visual C++ component “VCBuild.exe”_第2张图片

备选案文2

手动安装工具和配置:

  • 安装Visualc+构建环境:VisualStudio构建工具(使用“VisualC+构建工具”工作负载)或VisualStudio 2017社区(使用“带有C+的桌面开发”工作负载)
  • 安装Python 2.7 (v3.x.x不支持,需要加入path)

error MSB3411: Could not l oad the Visual C++ component “VCBuild.exe”_第3张图片

error MSB3411: Could not l oad the Visual C++ component “VCBuild.exe”_第4张图片

参考:https://github.com/nodejs/node-gyp#on-windows

 

vs (Microsoft Visual Studio)

VS是Microsoft Visual Studio的简称。VS是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。

Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。2019年三月最新版本为 Visual Studio 2017 RC版本,基于.NET Framework 4.6 。

error MSB3411: Could not l oad the Visual C++ component “VCBuild.exe”_第5张图片

1997年,微软发布了 Visual Studio 97。包含有面向 Windows 开发使用的Visual Basic 5.0、Visual C++ 5.0,面向Java开发的Visual J++和面向数据库开发的 Visual FoxPro,还包含有创建 DHTML (Dynamic HTML) 所需要的 Visual InterDev。其中,Visual Basic 和 Visual FoxPro 使用单独的开发环境,其他的开发语言使用统一的开发环境。

1998 年,微软发布了 Visual Studio 6.0。所有开发语言的开发环境版本均升至 6.0。这也是 Visual Basic 最后一次发布,从下一个版本 (7.0) 开始,Microsoft Basic 进化成了一种新的面向对象的语言:Microsoft Basic .NET 2002。由于微软公司对于 Sun 公司 Java 语言扩充导致与 Java虚拟机不兼容被 Sun 告上法庭,微软在后续的 Visual Studio 中不再包括面向 Java 虚拟机的开发环境。

2002 年,随着 .NET 口号的提出与 Windows XP/Office XP 的发布,微软发布了 Visual Studio .NET(内部版本号为 7.0)。在这个版本的 Visual Studio 中,微软剥离了 Visual FoxPro 作为一个单独的开发环境以 Visual FoxPro 7.0 单独销售,同时取消了 Visual InterDev。与此同时,微软引入了建立在 .NET 框架上(版本1.0)的托管代码机制以及一门新的语言C#(读作 C Sharp)。C# 是一门建立在C++和 Java 基础上的现代语言,是编写 .NET 框架的语言。

.NET的通用语言框架机制(Common Language Runtime, CLR),其目的是在同一个项目中支持不同的语言所开发的组件。所有 CLR 支持的代码都会被解释成为 CLR 可执行的机器代码然后运行。

来自百度百科

.NET是什么

.NET是一个微软搭造的开发者平台,它主要包括:

  • 1.支持(面向)该平台的编程语言(如C#、Visual Basic、C++/CLI、F#、IronPython、IronRuby...),
  • 2.用于该平台下开发人员的技术框架体系(.NET Framework、.NET Core、Mono、UWP等),
    • 1.定义了通用类型系统,庞大的CTS体系
    • 2.用于支撑.NET下的语言运行时的环境:CLR
    • 3..NET体系技术的框架库FCL
  • 3.用于支持开发人员开发的软件工具(即SDK,如VS2017、VS Code等)

.NET Framework是什么

事实上,像我上面讲的那些诸如程序集、GC、AppDomain这样的为CLR的一些概念组成,实质上指的是.NET Framework CLR。

.NET平台是微软为了占据开发市场而成立的,不是无利益驱动的纯技术平台的那种东西。基于该平台下的技术框架也因为 商业间的利益 从而和微软自身的Windows操作系统所绑定。所以虽然平台雄心和口号很大,但很多框架类库技术都是以Windows系统为蓝本,这样就导致,虽然.NET各方面都挺好,但是用.NET就必须用微软的东西,直接形成了技术-商业的绑定。

.NET Framework就是.NET 技术框架组成在Windows系统下的具体的实现,和Windows系统高度耦合,上文介绍的.NET系统,就是指.NET Framework。

部署.net Framework :https://docs.microsoft.com/zh-cn/dotnet/framework/deployment/deployment-guide-for-developers 
.NET Framework高级开发:https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2008/29eafad8(v%3dvs.90) 
.NET Framework源码在线浏览:https://referencesource.microsoft.com/

摘抄:https://www.cnblogs.com/yy1234/p/9258805.html

Windows系统自带.NET Framework


Windows系统默认安装的有.NET Framework,并且可以安装多个.NET Framework版本,你也不需要因此卸载,因为你使用的应用程序可能依赖于特定版本,如果你移除该版本,则应用程序可能会中断。

Microsoft .NET Framework百度百科下有windows系统默认安装的.NET版本 

error MSB3411: Could not l oad the Visual C++ component “VCBuild.exe”_第6张图片

摘抄:https://www.cnblogs.com/yy1234/p/9258805.html

.NET和C#是什么关系

语言,是人们进行沟通表达的主要方式。编程语言,是人与机器沟通的表达方式。不同的编程语言,其侧重点不同。有的编程语言是为了科学计算而开发的,所以其语法和功能更偏向于函数式思想。有些则是为了开发应用程序而创立的,所以其语法和功能更为均衡全面。

微软公司是全球最大的电脑软件提供商,为了占据开发者市场,进而在2002年推出了Visual Studio(简称VS,是微软提供给开发者的工具集) .NET 1.0版本的开发者平台。而为了吸引更多的开发者涌入平台,微软还在2002年宣布推出一个特性强大并且与.NET平台无缝集成的编程语言,即C# 1.0正式版。
只要是.NET支持的编程语言,开发者就可以通过.NET平台提供的工具服务和框架支持便捷的开发应用程序。

C#就是为宣传.NET而创立的,它直接集成于Visual Studio .NET中,VB也在.NET 1.0发布后对其进行支持, 所以这两门语言与.NET平台耦合度很高,并且.NET上的技术大多都是以C#编程语言为示例,所以经常就.NET和C#混为一谈(实质上它们是相辅相成的两个概念)。
而作为一个开发者平台,它不仅仅是包含开发环境、技术框架、社区论坛、服务支持等,它还强调了平台的跨语言、跨平台编程的两个特性。

摘抄:https://www.cnblogs.com/yy1234/p/9258805.html

 

 

Visual Studio 2008 中的VC++和VC6.0有什么区别

VC6.0最开始应该是叫VS6 ,后来VC6从这里面单独抽了出来广为使用。Visual Studio是一个合集,VS2008也是如此,包含了很多编程语言,比如VC C# Vb等。其中VS2008的VC部分是叫VC9。

VS2008采用的函数库版本比较新,用的SDK3.0--3.5。比VC6做了优化,默认采用的是Unicode字符。

VC6编译出来的程序在别人电脑上运行不会出太大问题。但是Visual Studio 2008 因为采用了高级版本的函数库,还有MFC中的不少函数在其他电脑上可能不存在,编译出来的程序在别的电脑上运行需要安装一些支持库。

无论是Visual Studio 2008中的VC++或是VC6.0,这些只是集成的开发环境,不是编程语言,是方便编程的一个辅助程序。只要学好C++就可以了,这些编译环境可以慢慢用。


VC6是上个世纪98年的产品,使用的是过时的标准。 而VS2008中的VC++版本号是9.0,是2008年的产品,使用的标准和安全性都比较高。 当然,版本越高,生产力就越高,开发周期就越短。 目前,最高版本的VC++是10.0,是在2010年4月12日发布的

Windows SDK

Windows SDK是微软每推出一个重要的windows版本,一般都会同时推出一个SDK(Software Development Kit)。SDK包含了开发该windows版本所需的windows函数和常数定义、API函数说明文档、相关工具和示例。SDK一般使用C语言,但不包括编译器。

高版本VC++包括了SDK所有的头文件、帮助、示例和工具,不需要再安装SDK,低版本如VC++5.0则需要安装SDK。从windows 98开始,windows SDK叫Platform SDK(http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en),包含最新的windows API函数的有关声明、例子。
用VC编写windows程序有两种方式:windows c方式(SDK)和C++方式(对SDK函数进行包装,如VC中的MFC、BCB中的VCL)。SDK编程就是直接用windows API进行编程。API由上千个API函数组成(win95中有两千多个),而MFC是API的封装,结合面向对象的继承、多态组成一个个类,共有一百多个类组成。
SDK是Software Development Kit的缩写,中文意思是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。 开发 Windows 平台下的应用程序所使用的 SDK只是广义 SDK 的一个子集。

来自百度百科

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(error MSB3411: Could not l oad the Visual C++ component “VCBuild.exe”)