0

我对 ClearScript 有疑问。当我从常规项目(类库或 wpf)中使用它们时,当通过 nuget 添加依赖项时,还会添加一个后期构建脚本,将 、 和 复制ClearScriptV8-32.dllClearScriptV8-64.dll目录v8-ia32.dll并且v8-x64.dll一切bin正常。但是当我尝试在新的 ASP.NET 中使用这个库时,事情就出错了。

用于 dnx 的 Nuget ClearScript 包下载到

C:\Users\lukasz\.dnx\packages\ClearScript.V8\5.4.3\lib\net40

我的意思是,ClearScript.dll是否存在但其他 4 个文件不存在(它们存在..\..\tools\native\{x86,amd64}\*,就像桌面应用程序一样),当我运行应用程序时它说

System.IO.FileNotFoundException: Cannot find file 'C:\Users\lukasz\.dnx\packages\ClearScript.V8\5.4.3\lib\net40\ClearScriptV8-32.dll'

因此,根据我在常规项目中的经验,我只是从

.dnx\packages\ClearScript.V8\5.4.3\tools\native\{x86,amd64}\*

.dnx\packages\ClearScript.V8\5.4.3\lib\net40

然后我得到这个错误

Error: error CS0009: Metadata file 'C:\Users\lukasz\.dnx\packages\ClearScript.V8\5.4.3\lib\net40\v8-x64.dll' could not be opened -- PE image doesn't contain managed metadata.
error CS0009: Metadata file 'C:\Users\lukasz\.dnx\packages\ClearScript.V8\5.4.3\lib\net40\v8-ia32.dll' could not be opened -- PE image doesn't contain managed metadata.

我会假设这些 dll 在某种程度上对 web 版本无效,也许我需要以某种不同的方式获取这些 dll?

我可以重现从 WebApi 模板创建新 ASP.NET 5 项目的问题。我使用单一框架dnx46,不core,因为我使用的项目无论如何都不是针对它编译的。我用ClearScript.V8 5.4.3. DNX SDK 版本为1.0.0-rc1-update1.

我只是在创造

var engine = new V8ScriptEngine();

在控制器方法中。

4

0 回答 0