agracio / edge-js-quick-start Goto Github PK
View Code? Open in Web Editor NEWEdge.js quick start using `edge-js` module on .NET Core
License: MIT License
Edge.js quick start using `edge-js` module on .NET Core
License: MIT License
See Github Action: https://github.com/lhl2617/edge-js-quick-start/runs/2769095812
PR Adding Github action: #7
>Run npm start
> [email protected] start /Users/runner/work/edge-js-quick-start/edge-js-quick-start
> node main.js core
/Users/runner/work/edge-js-quick-start/edge-js-quick-start/node_modules/edge-js/lib/edge.js:35
throw new Error('The edge native module is not available at ' + builtEdge
^
Error: The edge native module is not available at /Users/runner/work/edge-js-quick-start/edge-js-quick-start/node_modules/edge-js/build/Release/edge_coreclr.node. You can use EDGE_NATIVE environment variable to provide alternate location of edge.node. If you need to build edge.node, follow build instructions for your platform at https://github.com/agracio/edge-js
at Object.<anonymous> (/Users/runner/work/edge-js-quick-start/edge-js-quick-start/node_modules/edge-js/lib/edge.js:35:11)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/Users/runner/work/edge-js-quick-start/edge-js-quick-start/main.js:12:12)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node main.js core`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/runner/.npm/_logs/2021-06-07T23_55_00_287Z-debug.log
Error: Process completed with exit code 1.
Error: Call to coreclr_create_delegate() for G failed with a return code of 0x80070002.
at Module._extensions..node (node:internal/modules/cjs/loader:1361:18)
at Module.load (node:internal/modules/cjs/loader:1133:32)
at Module._load (node:internal/modules/cjs/loader:972:12)
at Module.require (node:internal/modules/cjs/loader:1157:19)
at require (node:internal/modules/helpers:119:18)
at Object. (D:\SVN\gongwen\edge-js-quick-start-master\node_modules\edge-js\lib\edge.js:53:8)
at Module._compile (node:internal/modules/cjs/loader:1275:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1329:10)
at Module.load (node:internal/modules/cjs/loader:1133:32)
at Module._load (node:internal/modules/cjs/loader:972:12)
How do I need to set it up?
Hi ,
I'm trying to add a Nuget Package and build it build but when I start the node js application it gives following error. Can I know is it not possible to import nuget libraries to the LocalMethod class ?
WIDURA@DESKTOP-7DL21HE MINGW64 ~/Desktop/projects/testproject/edge-js-quick-start (master)
$ npm start
[email protected] start C:\Users\WIDURA\Desktop\projects\testproject\edge-js-quick-start
node main.js core
Error: assembly specified in the dependencies manifest was not found -- package: 'System.IO.Ports', version: '4.4.0', path: 'runtimes/win/lib/netstandard2.0/System.IO.Ports.dll'
C:\Users\WIDURA\Desktop\projects\testproject\edge-js-quick-start\node_modules\edge-js\lib\edge.js:181
return edge.initializeClrFunc(options);
^
TypeError: edge.initializeClrFunc is not a function
at Object.exports.func (C:\Users\WIDURA\Desktop\projects\testproject\edge-js-quick-start\node_modules\edge-js\lib\edge.js:181:17)
at Object. (C:\Users\WIDURA\Desktop\projects\testproject\edge-js-quick-start\main.js:19:34)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: node main.js core
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\WIDURA\AppData\Roaming\npm-cache_logs\2019-12-02T09_48_49_536Z-debug.log
Could you give me some tips ?
'Error: The edge module has not been pre-compiled for node.js version v20.9.0. You must build a custom version of edge.node.'
Any plans to natively support Node v20 in the near future? Thanks
Install Output:
$ node tools/install.js
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info find Python using Python version 2.7.16 found at "/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python"
gyp info spawn /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
gyp info spawn args [
gyp info spawn args '/usr/local/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/local/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/bjenks/Library/Caches/node-gyp/12.12.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/bjenks/Library/Caches/node-gyp/12.12.0',
gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/bjenks/Library/Caches/node-gyp/12.12.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
CXX(target) Release/obj.target/edge_coreclr/src/common/v8synchronizationcontext.o
CXX(target) Release/obj.target/edge_coreclr/src/common/callbackhelper.o
CXX(target) Release/obj.target/edge_coreclr/src/common/edge.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/coreclrembedding.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/coreclrfunc.o
../src/CoreCLREmbedding/coreclrfunc.cpp:491:4: warning: ignoring return value of function
declared with 'warn_unused_result' attribute [-Wunused-result]
...result->SetPrototype(Nan::GetCurrentContext(), v8::Exception::Error(message));
^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/coreclrnodejsfunc.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/coreclrfuncinvokecontext.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/coreclrnodejsfuncinvokecontext.o
CXX(target) Release/obj.target/edge_coreclr/src/common/utils.o
../src/common/utils.cpp:24:2: warning: ignoring return value of function declared with
'warn_unused_result' attribute [-Wunused-result]
...exception->SetPrototype(Nan::GetCurrentContext(), v8::Exception::Error(Nan::New<v8::String>(message).ToLocalChecked()));
^~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/pal/pal_utils.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/pal/trace.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/fxr/fx_ver.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/fxr/fx_muxer.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/json/casablanca/src/json/json.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/json/casablanca/src/json/json_parsing.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/json/casablanca/src/json/json_serialization.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/json/casablanca/src/utilities/asyncrt_utils.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/deps/deps_format.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/deps/deps_entry.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/deps/deps_resolver.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/host/args.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/host/coreclr.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/host/libhost.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/host/runtime_config.o
CXX(target) Release/obj.target/edge_coreclr/src/CoreCLREmbedding/pal/pal.unix.o
SOLINK_MODULE(target) Release/edge_coreclr.node
ACTION binding_gyp_build_managed_target_restore_bootstrap_packages lib/bootstrap/project.lock.json
Restore completed in 607.97 ms for /Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/src/double/Edge.js.CSharp/Edge.js.CSharp.csproj.
Restore completed in 607.97 ms for /Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/lib/bootstrap/bootstrap.csproj.
Restore completed in 731.85 ms for /Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/src/double/Edge.js/Edge.js.csproj.
ACTION binding_gyp_build_managed_target_compile_bootstrap lib/bootstrap/bin/Release/netcoreapp1.1/bootstrap.dll
Microsoft (R) Build Engine version 16.3.0+0f4c62fea for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restore completed in 29.7 ms for /Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/lib/bootstrap/bootstrap.csproj.
Restore completed in 29.74 ms for /Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/src/double/Edge.js/Edge.js.csproj.
Restore completed in 29.71 ms for /Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/src/double/Edge.js.CSharp/Edge.js.CSharp.csproj.
Edge.js.CSharp -> /Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/src/double/Edge.js.CSharp/bin/Release/netcoreapp1.1/Edge.js.CSharp.dll
Edge.js -> /Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/src/double/Edge.js/bin/Release/netcoreapp1.1/EdgeJs.dll
bootstrap -> /Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/lib/bootstrap/bin/Release/netcoreapp1.1/bootstrap.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:02.77
ACTION binding_gyp_build_managed_target_compile_mono_embed build/Release/monoembedding.exe
TOUCH Release/obj.target/build_managed.stamp
gyp info ok
Start:
$ npm run start:core
> [email protected] start:core /Users/bjenks/Downloads/edge-js-quick-start-master
> node main.js core
CoreClrEmbedding::Initialize - Failed to initialize CoreCLR, HRESULT: 0x80070057
/Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/lib/edge.js:181
return edge.initializeClrFunc(options);
^
TypeError: edge.initializeClrFunc is not a function
at Object.exports.func (/Users/bjenks/Downloads/edge-js-quick-start-master/node_modules/edge-js/lib/edge.js:181:17)
at Object.<anonymous> (/Users/bjenks/Downloads/edge-js-quick-start-master/main.js:19:34)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11
Versions:
$ defaults read loginwindow SystemVersionStampAsString
10.15.2
$ node -v
v12.12.0
$ npm -v
6.13.2
$ dotnet --version
3.1.100
Any ideas?
I believe typically this is a file not found error - but I'm getting this running this sample:
module.js:672 return process.dlopen(module, path._makeLong(filename)); ^ Error: Call to coreclr_create_delegate() for G failed with a return code of 0x80070002. at Object.Module._extensions..node (module.js:672:18) at Module.load (module.js:556:32) at tryModuleLoad (module.js:499:12) at Function.Module._load (module.js:491:3) at Module.require (module.js:587:17) at require (internal/module.js:11:18) at Object.<anonymous> (D:\dev\code\edge-js-quick-start-master\edge-js-quick-start-master\node_modules\edge-js\lib\edge.js:53:8) at Module._compile (module.js:643:30) at Object.Module._extensions..js (module.js:654:10) at Module.load (module.js:556:32)
Any ideas how to resolve this?
edge-js-quick-start git:(master) dotnet build src/QuickStart.sln
MSBuild version 17.4.0+18d5aef85 for .NET
正在确定要还原的项目…
已还原 /Users/diluka/Source/edge-js-quick-start/src/ExternlaLibrary.Standard/ExternlaLibrary.Standard.csproj (用时 103 ms)。
已还原 /Users/diluka/Source/edge-js-quick-start/src/ExternalLibrary/ExternalLibrary.csproj (用时 103 ms)。
已还原 /Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj (用时 1.09 sec)。
已还原 /Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj (用时 1.09 sec)。
ExternalLibrary -> /Users/diluka/Source/edge-js-quick-start/src/ExternalLibrary/bin/Debug/netcoreapp3.1/ExternalLibrary.dll
ExternlaLibrary.Standard -> /Users/diluka/Source/edge-js-quick-start/src/ExternlaLibrary.Standard/bin/Debug/netstandard2.1/ExternlaLibrary.Standard.dll
/usr/local/share/dotnet/sdk/7.0.101/Microsoft.Common.CurrentVersion.targets(2352,5): warning MSB3245: 未能解析此引用。未能找到程序集“EdgeJs”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj]
/usr/local/share/dotnet/sdk/7.0.101/Microsoft.Common.CurrentVersion.targets(2352,5): warning MSB3245: 未能解析此引用。未能找到程序集“EdgeJs”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/LocalMethods.cs(8,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/LocalMethods.cs(13,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/LocalMethods.cs(18,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/LocalMethods.cs(23,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/LocalMethods.cs(10,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/LocalMethods.cs(15,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/LocalMethods.cs(20,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/LocalMethods.cs(24,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj]
QuickStart.Core -> /Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/bin/Debug/netcoreapp3.1/QuickStart.Core.dll
QuickStart.Standard -> /Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/bin/Debug/netstandard2.1/QuickStart.Standard.dll
已成功生成。
/usr/local/share/dotnet/sdk/7.0.101/Microsoft.Common.CurrentVersion.targets(2352,5): warning MSB3245: 未能解析此引用。未能找到程序集“EdgeJs”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj]
/usr/local/share/dotnet/sdk/7.0.101/Microsoft.Common.CurrentVersion.targets(2352,5): warning MSB3245: 未能解析此引用。未能找到程序集“EdgeJs”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/LocalMethods.cs(8,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/LocalMethods.cs(13,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/LocalMethods.cs(18,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/LocalMethods.cs(23,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/QuickStart.Core.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/LocalMethods.cs(10,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/LocalMethods.cs(15,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/LocalMethods.cs(20,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj]
/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/LocalMethods.cs(24,35): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/diluka/Source/edge-js-quick-start/src/QuickStart.Standard/QuickStart.Standard.csproj]
10 个警告
0 个错误
已用时间 00:00:07.73
➜ edge-js-quick-start git:(master) npm i
added 3 packages, and audited 4 packages in 53s
found 0 vulnerabilities
➜ edge-js-quick-start git:(master) npm start
> [email protected] start
> node main.js core
node:internal/modules/cjs/loader:1243
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: Call to coreclr_create_delegate() for GetFunc failed with a return code of 0x80070002.
at Module._extensions..node (node:internal/modules/cjs/loader:1243:18)
at Module.load (node:internal/modules/cjs/loader:1037:32)
at Module._load (node:internal/modules/cjs/loader:878:12)
at Module.require (node:internal/modules/cjs/loader:1061:19)
at require (node:internal/modules/cjs/helpers:103:18)
at Object.<anonymous> (/Users/diluka/Source/edge-js-quick-start/node_modules/edge-js/lib/edge.js:53:8)
at Module._compile (node:internal/modules/cjs/loader:1159:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
at Module.load (node:internal/modules/cjs/loader:1037:32)
at Module._load (node:internal/modules/cjs/loader:878:12)
Node.js v18.12.1
➜ edge-js-quick-start git:(master)
add this at beginning to debug console.log('baseNetAppPath',baseNetAppPath,'namespace',namespace);
baseNetAppPath /Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/bin/Debug/netcoreapp3.1 namespace QuickStart.Core
➜ edge-js-quick-start git:(master) ✗ ls /Users/diluka/Source/edge-js-quick-start/src/QuickStart.Core/bin/Debug/netcoreapp3.1
ExternalLibrary.dll Microsoft.CodeAnalysis.dll QuickStart.Core.pdb
ExternalLibrary.pdb Microsoft.DotNet.InternalAbstractions.dll System.Composition.AttributedModel.dll
Microsoft.CodeAnalysis.CSharp.Workspaces.dll Microsoft.DotNet.PlatformAbstractions.dll System.Composition.Convention.dll
Microsoft.CodeAnalysis.CSharp.dll Microsoft.Extensions.DependencyModel.dll System.Composition.Hosting.dll
Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll Newtonsoft.Json.dll System.Composition.Runtime.dll
Microsoft.CodeAnalysis.VisualBasic.dll QuickStart.Core.deps.json System.Composition.TypedParts.dll
Microsoft.CodeAnalysis.Workspaces.dll QuickStart.Core.dll refs
refs: #3
I tried to run the quick start app and it works fine. But when I put process.env.EDGE_DEBUG = 1;
in the main.js to get verbose log messages it spits lots of log messages, but the program doesn't seem working(not displaying the output).
here is the last few lines of the log messages
CoreClrEmbedding::Initialize - Property APP_PATHS = D:\Projects\GitHub\edge-js-quick-start\src\QuickStart.Core\bin\Debug\netcoreapp2.0
CoreClrEmbedding::Initialize - Property APP_NI_PATHS = D:\Projects\GitHub\edge-js-quick-start\src\QuickStart.Core\bin\Debug\netcoreapp2.0
CoreClrEmbedding::Initialize - Property NATIVE_DLL_SEARCH_DIRECTORIES = C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.5;
CoreClrEmbedding::Initialize - Property PLATFORM_RESOURCE_ROOTS =
CoreClrEmbedding::Initialize - Property AppDomainCompatSwitch = UseLatestBehaviorWhenTFMNotSpecified
CoreClrEmbedding::Initialize - Property APP_CONTEXT_BASE_DIRECTORY = D:\Projects\GitHub\edge-js-quick-start\src\QuickStart.Core\bin\Debug\netcoreapp2.0
CoreClrEmbedding::Initialize - Property APP_CONTEXT_DEPS_FILES = D:\Projects\GitHub\edge-js-quick-start\src\QuickStart.Core\bin\Debug\netcoreapp2.0\QuickStart.Core.deps.json;C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.5\Microsoft.NETCore.App.deps.json
CoreClrEmbedding::Initialize - Property FX_DEPS_FILE = C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.5\Microsoft.NETCore.App.deps.json
CoreClrEmbedding::Initialize - Property JIT_PATH = C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.5\clrjit.dll
CoreClrEmbedding::Initialize - CoreCLR initialized successfully
CoreClrEmbedding::Initialize - App domain created successfully (app domain ID: 1)
CoreClrEmbedding::Initialize - CoreCLREmbedding.GetFunc() loaded successfully
CoreClrEmbedding::Initialize - CoreCLREmbedding.CallFunc() loaded successfully
CoreClrEmbedding::Initialize - CoreCLREmbedding.ContinueTask() loaded successfully
CoreClrEmbedding::Initialize - CoreCLREmbedding.FreeHandle() loaded successfully
CoreClrEmbedding::Initialize - CoreCLREmbedding.FreeMarshalData() loaded successfully
I was able to launch edge-js-quick-start for NET Core sample project with command
npm run start:core
But I had to specify
process.env.CORECLR_VERSION = '5.0.17';
or
process.env.CORECLR_VERSION = '2.0.9';
to locate Microsoft.NETCore.App
Where '5.0.17' or '2.0.9' is existing directory in Windows 11 in:
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\
to solve error
"CoreClrEmbedding::Initialize - Could not resolve CoreCLR path."
May be it will help to investigate the error bellow.
Then I tried to run same successful setup inside Jest test and it failed with error
Could not resolve CoreCLR path. For more details, enable tracing by setting COREHOST_TRACE environment
edge.initializeClrFunc is not a function
I created a fork to reproduce it
https://github.com/RodionKulin/edge-js-quick-start
Do you have any suggestions how to make edge-js work in Jest, so I can run some NET library inside my Jest tests?
I fork this project, run and get a error as title.
OS: macOS 10.13.2
Node.js: 8.8.1
NETCore: 2.0.1-servicing-006924
mono: 5.2.0.215
exception stack:
edge-js-quick-start git:(master) node main.js
CoreClrEmbedding::Initialize - Failed to initialize CoreCLR, HRESULT: 0x80070057
/github/edge-js-quick-start/node_modules/edge-js/lib/edge.js:178
return edge.initializeClrFunc(options);
^
TypeError: edge.initializeClrFunc is not a function
at Object.exports.func (/github/edge-js-quick-start/node_modules/edge-js/lib/edge.js:178:17)
at Object.<anonymous> (/github/edge-js-quick-start/main.js:12:34)
at Module._compile (module.js:612:30)
at Object.Module._extensions..js (module.js:623:10)
at Module.load (module.js:531:32)
at tryModuleLoad (module.js:494:12)
at Function.Module._load (module.js:486:3)
at Function.Module.runMain (module.js:653:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
----Nodejs
process.env.EDGE_USE_CORECLR = 1;
process.env.EDGE_APP_ROOT ="C:\bin\Debug\netcoreapp3.1";
var edge = require('edge-js');
var executeSql = edge.func({
assemblyFile: "NodeJsServices.dll",
typeName: "NodeJsServices.SqlBridge",
methodName: 'ExecuteSql'
});
executeSql('select * from [dbo].[PM]', function(error, result) {
if (error) throw error;
console.log(result);
console.log();
});
C#
using Microsoft.Data.SqlClient;
public class SqlBridge
{
public async Task ExecuSql(string queryString)
{
string connectionString = "Data Source=.;Initial Catalog=FastBuild;Persist Security
Info=True;User ID=sa;Password=sa$123";
var result = 0;
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
result= command.ExecuteNonQuery();
}
return result;
}
}
Error: Microsoft.Data.SqlClient is not supported on this platform.
How to solve this problem by performing a function in node.js that references Microsoft.Data.SqlClient to an error?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.