2017-09-28 20 views
0

私は以下のコードセグメントを持っています。UWPでのRoslynスクリプトの使用

var script = CSharpScript.Create("int x = 12;"); 
var result = await script.RunAsync(); 
var variable = result.GetVariable("x"); 
int value = (int)variable.Value; 

それは次と二行目にクラッシュ:

ファイルまたはアセンブリをロードできませんでした 'System.Core、バージョン= 4.0.0.0、 ニュートラル文化=、なPublicKeyToken = b77a5c561934e089'。見つかった アセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)

これはUWPアプリケーションであり、私はMicrosoft.CodeAnalysis.CSharp.Scriptingライブラリを使用しようとしています。私はNuGetを通じてパッケージをインストールしました。アプリケーションはコンパイルとデプロイを行いますが、このコードの2行目でクラッシュします。

明らかに、この問題は、アプリケーション(4.6)でデプロイされたものとライブラリ(4.0)で使用されているものとの間に競合するバージョンを持つSystem.Core DLLにあります。誰にもこれに対する解決策がありますか?使用するライブラリのバージョンやターゲットフレームワークを指定する方法はありますか(UWPを使用していますが)。

System.NotSupportedException:Assembly.Load(バイト[]、...)はAPPX

ではサポートされていません

ない私の側にテストすることにより

答えて

1

は、私は次の例外を得ましたあなたと同じです。私は使用しましたMicrosoft.CodeAnalysis.CSharp.Scripting 2.3.2

実際には、アプリケーションモデルは実行時に生成されたコードの読み込みをサポートしていないため、Universal Windows Applicationsおよび.NET NativeではスクリプトAPIを使用できません。詳細は、this articleの「サポートされているプラ​​ットフォーム」セクションを参照してください。現在、UWP用のスクリプトAPIは使用できないはずです。

関連する問題