2016-05-22 7 views
4

Я пытаюсь добавить IronPython в веб-приложение .NET Net 1.0, но имею проблемы с доступом к классу ScriptRuntime. Когда я пытаюсь добавить using IronPython;, я получаю ошибки, говорящие, что IronPython не найден.Как использовать IronPython с. Net Core 1.0

Я также получаю ошибки о ScriptRuntime does not exist in the current context

Примечание: В настоящее время с помощью Visual Studio код на OSX 10.11

Ниже приведены т зависимостей и каркасных участков моего project.json:

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
    "EntityFramework.Commands": "7.0.0-rc1-final", 
    "EntityFramework.Sqlite": "7.0.0-rc1-final", 
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final", 
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final", 
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final", 
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final", 
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", 
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final", 
    "Microsoft.Dnx.Runtime": "1.0.0-rc1-final", 
    "Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final", 
    "Microsoft.NETCore.Platforms": "1.0.1-*", 
    "Newtonsoft.Json": "8.0.3", 
    "IronPython": "2.7.5", 
    "IronPython.StdLib": "2.7.5" 
    }, 
    "commands": { 
    "web": "Microsoft.AspNet.Server.Kestrel", 
    "ef": "EntityFramework.Commands" 
    }, 
    "frameworks": { 
    "dnx451": {}, 
    "dnxcore50": {} 
    }, 
} 

И у меня в контроллере у меня есть следующие данные:

using System.IO; 
using System.Diagnostics; 
using Microsoft.AspNet.Authorization; 
using Microsoft.AspNet.Identity; 
using Microsoft.AspNet.Hosting; 
using Microsoft.AspNet.Http; 
using Microsoft.AspNet.Mvc; 
using Microsoft.Net.Http.Headers; 
using Newtonsoft.Json.Linq; 
using MatrixSynthesisWebApp.Models; 
using System.Dynamic; 
using System.Runtime.CompilerServices; 
using IronPython; 
+3

Учитывая, что последний выпуск IronPython значительно предшествует внедрению ядра .net, это, вероятно, не будет работать без таргетинга на ядро ​​IronPython. –

ответ

2

Я считаю, что использовать пакет IronPython NuGet на .Net Core невозможно. Этот пакет скомпилирован для .Net Framework (и Silverlight), что означает, что он не может использоваться из .Net Core.

Возможно, вы захотите перенести IronPython на netstandard, который можно использовать с .Net Core, на the project's Github site.

1

Svicks ответ не текущее состояние:

IronPython-Team выпустила бета-версию IronPython 2.7.8 с поддержкой моно и .net ядро:

более подробная информация здесь: https://github.com/IronLanguages/ironpython2/releases

IronPython 3 с поддержкой ядро ​​mono и .net все еще продолжается.