reconoce net interno instal guia externo dotnet dev como comando cli c# r .net-core

c# - interno - Usando R.NET.Community en.NET Core 2.0 Preview 1



guia net core (2)

Por un tiempo, he estado esperando usar R.NET.Community en una aplicación .NET Core. Obviamente, aunque el paquete NuGet no se ha portado a .NET Core, no ha sido un arranque. Sin embargo, con el anuncio de .NET Core 2.0 Preview 1 de que puede hacer referencia a las bibliotecas de .NET Framework desde .NET Core, le di otra oportunidad:

using RDotNet; namespace RDotNetCore2 { class Program { static void Main(string[] args) { REngine.SetEnvironmentVariables(); var engine = REngine.GetInstance(); } } }

Al crear esto como una aplicación .NET Core 2.0 en la nueva Vista previa de Visual Studio 2017, esto al menos llega a compilar y ejecutarse, pero los errores en la llamada GetInstance :

No se pudo cargar el archivo o el ensamblaje ''System.Security.Permissions, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = cc7b13ffcd2ddd51''. El sistema no puede encontrar el archivo especificado.

¿Hay algo que pueda hacer para solucionar este problema o solo uno de esos bits que no es compatible con .NET Core (que sospecho que puede deberse al hecho de que CAS no es compatible con .NET Core)?


¿Estás seguro de que esto es un problema de la versión de Framework?

No hay un archivo System.Security.Permissions en la versión 4.x de .net (aunque hay un namespace ). Sin embargo, hay una dll con este nombre en .net Core 2.0 (que contiene, por ejemplo, la clase PrincipalPermissions . En .net 4.7, esta clase se implementa en mscorlib.dll ).

Probablemente valga la pena echar un vistazo a las referencias de su proyecto antes de concluir que esto no va a funcionar. Si puede agregar una referencia a la dll (que presumiblemente debería haber instalado con el tiempo de ejecución Core 2.0), podría resolver el problema.


Obtener la última System.Security.Permissions de NuGet solucionó este problema para mí en una nueva aplicación de consola 2.1.