Использование R.NET.Community в .NET Core 2.0 Preview 1
Некоторое время я надеялся использовать R.NET.Community в приложении .NET Core. Очевидно, что если пакет NuGet не был перенесен на .NET Core, это было бы не стартером. Тем не менее, с объявлением .NET Core 2.0 Preview 1, которое вы можете ссылаться на библиотеки .NET Framework от .NET Core, я дал следующее:
using RDotNet;
namespace RDotNetCore2
{
class Program
{
static void Main(string[] args)
{
REngine.SetEnvironmentVariables();
var engine = REngine.GetInstance();
}
}
}
Создавая это как приложение .NET Core 2.0 в новом представлении Visual Studio 2017, это, по крайней мере, доходит до компиляции и работы, но ошибки при вызове GetInstance
:
Не удалось загрузить файл или сборку 'System.Security.Permissions, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = cc7b13ffcd2ddd51'. Система не может найти указанный файл.
Есть ли что-нибудь, что я могу сделать, чтобы исправить это, или это только один из этих битов, который не поддерживается в .NET Core (который, как я подозреваю, может быть вероятным из-за того, что CAS не поддерживается в .NET Core )?
Ответы
Ответ 1
Вы уверены, что это проблема с версией Framework?
В версии 4.x версии .NET нет версии System.Security.Permissions
(хотя существует пространство имен ). Существует DLL с этим именем в .net Core 2.0, хотя (содержащий, например, класс PrincipalPermissions
. В .net 4.7, этот класс реализуется в mscorlib.dll
).
Возможно, стоит взглянуть на ваши ссылки на проекты, прежде чем вы сделаете вывод, что это не сработает. Если вы можете добавить ссылку на dll (который предположительно должен был быть установлен с средой выполнения Core 2.0), это может решить проблему.