ClearScript に問題があります。通常のプロジェクト (クラス ライブラリまたは wpf) からそれらを使用すると、nuget を介して依存関係が追加されると、、、およびをディレクトリにコピーするビルド後のスクリプトも追加されClearScriptV8-32.dll
、すべてが正常に機能しますClearScriptV8-64.dll
。しかし、このライブラリを新しい ASP.NET で使用しようとすると、問題が発生します。v8-ia32.dll
v8-x64.dll
bin
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'
通常のプロジェクトでの経験に従って、これらの 4 つのファイルをコピーしました。
.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();
コントローラーメソッドで。