electron-edge中使用时未安装Visual Studio 2015 redist 解决方法
Posted DamonZhu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了electron-edge中使用时未安装Visual Studio 2015 redist 解决方法相关的知识,希望对你有一定的参考价值。
之前有介绍过如何在Node.js中调用C#代码:Node.js调用C#代码,但是在Electron中却不能直接使用Edge.js,因为Electron使用的Node.js版本不同,直接使用会出现javascript的错误弹窗。好在Electron中我们还可以使用electron-edge,它会将Edge.js预先编译成适合Electron使用的版本。但是使用electron-edge必须要安装:Visual Studio 2015 redist 和.NET framework 4.5,我目前就遇到由于客户机器上没有装 Visual Studio 2015 redist 而出现错误的情况。由于不能要求每个用户去安装Visual Studio 2015 redist,所以一直找不到解决办法。后来在搜索一些资料后,找到一个解决方案,但是并不完美,下面介绍一下解决方法:
首先,我的配置:
- Windows7 64bit
- Node --v6.9.1
- npm --v5.6.0
- electron --v1.7.12
- electron-edge --v6.5.5
- electron-packager --v9.1.0
npm install electron-edge
2. 打开 electron-edge 目录,然后没命令行输入
.\\node_modules\\electron-edge>node-gyp rebuild --target=1.7.12 --arch=x64 --dist-url=https://atom.io/download/atom-shell
注意,我这边使用的是x64平台,因为我本机是64位的。
3. 使用 electron-packager 进行打包
package.json文件
{ "name": "web", "version": "1.0.0", "description": "", "main": "main.js", "scripts": { "packager": "electron-packager . Skynet.Flow.Web --platform=win32 --arch=x64 --electron-version=1.7.12 --overwrite=true --asar=false --out=../Skynet_saas/" }, "devDependencies": { "electron": "^1.7.12", "electron-edge": "^6.5.5", "electron-packager": "^9.1.0" }, "dependencies": { "electron": "^1.7.12", "electron-edge": "^6.5.5", "electron-packager": "^9.1.0" } }
命令行输入
npm run packager
4. 将打包好的程序放到未安装 Visual Studio 2015 redist 的机器上测试,通过。
需要注意的是,我和测试机器都是 Windows7 64位的,所以用node-gyp rebulid时的版本和electron-packager打包时使用的都是 arch=x64,我之前想打包成32位时使用 arch=ia32,但是使用时会报错“不是一个合格的32位应用”,具体原因还没有找到,如果有小伙伴有解决方案,请告诉下我。
以上就是在使用 electron-edge 时碰到未安装 Visual Studio 2015 redist 时出现错误的解决方案, 希望能够帮到大家,谢谢。
以上是关于electron-edge中使用时未安装Visual Studio 2015 redist 解决方法的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 2019 中编译默认 Angular 项目时未找到(但已安装)node.js