1
アセンブリをロードしませんが、私はC#スクリプトAPIは、私は、LINQステートメントを実行するC#のスクリプトAPIを使用するには、.NETのコアのコンソールプログラムを作成しようとした
「System.Linqの、バージョン= 4.1というエラーを取得しておきます.1.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a '---> System.IO.FileLoadException:ネイティブイメージを複数回読み込むことができません。ここで
は私のプログラムである:ここでは
using System;
using System.Collections.Generic;
using System.Reflection;
using Microsoft.CodeAnalysis.CSharp.Scripting;
using Microsoft.CodeAnalysis.Scripting;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
try
{
var scriptOptions = ScriptOptions.Default;
//Add reference to mscorlib
var mscorlib = typeof(System.Object).GetTypeInfo().Assembly;
var systemCore = typeof(System.Linq.Enumerable).GetTypeInfo().Assembly;
scriptOptions = scriptOptions.AddReferences(mscorlib, systemCore);
//Add namespaces
scriptOptions = scriptOptions.AddImports("System");
scriptOptions = scriptOptions.AddImports("System.Linq");
scriptOptions = scriptOptions.AddImports("System.Collections.Generic");
var state = CSharpScript.RunAsync(@"var x = new List<int>(){1,2,3,4,5};", scriptOptions).Result;
state = state.ContinueWithAsync("var y = x.Take(3).ToList();").Result;
var y = state.Variables[1];
var yList = (List<int>)y.Value;
foreach(var val in yList)
{
Console.Write(val + " "); // Prints 1 2 3
}
}
catch (CompilationErrorException e)
{
Console.WriteLine(string.Join(Environment.NewLine, e.Diagnostics));
}
catch (Exception e)
{
Console.WriteLine(string.Join(Environment.NewLine, e));
}
}
}
}
は私project.jsonです:
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.CodeAnalysis.CSharp.Scripting": "2.0.0-rc2"
},
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
}
},
"imports": ["dnxcore50", "net452"]
}
}
}
うわー、うまくいく〜ありがとう、ありがとう。 p.s. InteractiveAssemblyLoaderは使い捨てですので、この答えをを使用して更新することができます。 –