2016-08-30 5 views
2

Этот сценарий может быть странным. Но я хочу ссылаться на существующую библиотеку классов .NET 4.5.2 в новую библиотеку классов .Net Standard 1.6 с использованием Nuget. Я не вижу библиотеки классов .Net 4.5.2 в общем хранилище пакетов Nuget.Ссылка на библиотеку классов .NET 4.5.2 в проекте .Net Standard 1.6

Я не хочу переносить любые существующие проекты в .Net Core, но хочу использовать их в .NET-проектах .Net.

Можно ли достичь этого? Или я пытаюсь достичь чего-то, что не является целью .Net Core.

Мой проект.json такой, как показано ниже.

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0", 
    "NETStandard.Library": "1.6.0", 
    "AutoMapper": "5.0.2", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0", 
    "Microsoft.VisualStudio.clrdbg": "14.0.25520-preview-3139256" 
    }, 

    "tools" : { 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "version": "1.0.0-preview2-final", 
     "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "imports": [ "dnxcore50", "net452" ] 
    } 
    } 
} 

ОБНОВЛЕНИЕ:

Я добавил net452 раздел под frameworks. Затем я получаю сообщение Can not Resolve errors для нескольких уже установленных пакетов. Снимок экрана PFA.

enter image description here

Есть в любом случае я могу заставить это работать.

ответ

2

Вам не хватает импорта Net45 в разделе импорта фреймов. Если это работоспособным проект, то вам нужно будет добавить Microsoft.NETCore.App ваших зависимостей и импортировать необходимые рамки для того, чтобы работать

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0", 
    "Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.0.0" 
    }, 
    "AutoMapper": "5.0.2", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0", 
    "Microsoft.VisualStudio.clrdbg": "14.0.25520-preview-3139256" 
    }, 

    "tools" : { 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "version": "1.0.0-preview2-final", 
     "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "frameworks": { 
    "netcoreapp1.1": { 
     "imports": [ 
     "portable-net45+wp80+win8+wpa81+dnxcore50", 
     "dnxcore50", 
     "net452" 
     ] 
    } 
    }, 
    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 
} 

Однако, если вы используете PCL вас» Затем необходимо использовать инфраструктуру netstandard и импортировать необходимые фреймворки для создания PCL.

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0", 
    "NETStandard.Library": "1.6.0", 
    "AutoMapper": "5.0.2", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0", 
    "Microsoft.VisualStudio.clrdbg": "14.0.25520-preview-3139256" 
    }, 

    "tools" : { 
    "Microsoft.EntityFrameworkCore.Tools": { 
    "version": "1.0.0-preview2-final", 
    "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "imports": [ 
     "portable-net45+wp80+win8+wpa81+dnxcore50", 
     "dnxcore50", 
     "net452" 
     ]   
    } 
    } 
} 
+0

Это не сработало. Обновленный вопрос. – Venky

+0

Протестировали мой обновленный project.json в pcl. Он отлично работает – user3163840