2016-09-15 4 views
3

Я пытаюсь добавить .NET Framework 4.5 свою собственную DLL в .NET Core Project, но я не могу. Я также пытаюсь что-то изменить в файле project.json, но без результата. Я также пытаюсь создать собственный локальный источник Nuget, но он не работает для меня. может кто-нибудь знать правильное объяснение, как я могу это сделать?Импорт библиотеки .Net Framework 4.5 в .Net Core MVC App

См экран ниже: import .net framework 4.5 dll to .NET core

+0

Сообщение не относится к 4.5 вообще. .NET Core и .NET Framework 4.5 - это разные целевые платформы *. Вы не можете «импортировать» один в другой, как если бы они были библиотеками. В нем говорится, что вы не можете добавить ссылку на какую-либо сборку, кроме тех, которые упакованы в .NET Core. Вам придется упаковать вашу библиотеку в пакет Nuget, а затем добавить пакет в свой проект. –

+0

Является ли Dea.Html другой библиотекой .NET Core? –

ответ

1

Update

С .NET 2.0 Ядра, это теперь может быть сделано: https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-core-2-0/#reference-net-framework-libraries-from-net-standard


Вы не может ссылаться на .NET Framework 4.5 сборка в проекте .NET Core, только другие сборки .NET Core.

Если вы хотите использовать ASP.NET Core 1 и все еще сможете ссылаться на сборки .NET «Полный», вам необходимо создать приложение ASP.NET, предназначенное для .NET Framework вместо .NET Core. Вы можете сделать это, перейдя в Создать новый проект -> Visual C# -> Веб -> Основной веб-приложение ASP.NET (.NET Framework).

Вы также можете изменить свой файл project.json для ссылки на полный .NET Framework, например:

"frameworks": { 
    "net461": { } 
} 

Кроме того, если вы готовы написать для конкретной платформы код и использовать директивы компилятора предварительно , вы можете настроить таргетинг на несколько фреймворков в одном приложении.

Для этого просто добавьте net461 в существующее приложение вместе с netcoreapp1.0. Обратите внимание, однако, что вам нужно будет указать свои зависимости для каждой структуры. Так что ваш файл project.json будет выглядеть примерно так:

"frameworks": { 
    "netcoreapp1.0": { 
     "dependencies": { 
      "Microsoft.NETCore.App": { "type":"platform", "version": "1.0.0" } 
     }, 
     "imports": "dnxcore50" 
    } 
    "net461": { 
     "dependencies": {"MyNet45Assembly"} 
    } 
} 

А потом на вашем коде, вам придется использовать директивы компилятора заранее обнаружить под какую платформу ваше приложение работает. Например:

#if NET461 
using MyNet45Assembly.Types; 
#endif 

// ... 

#if NET461 
var v = new MyNet45AssemblyType(); 
#endif 
+0

Сообщение относится к другой проблеме полностью, как добавить другую ссылку на сборку .NET Core для проекта. Что нельзя сделать прямо сейчас, без создания пакета NuGet –

Смежные вопросы