2016-05-27 3 views
0

Согласно Mapping the .NET Platform Standard to platforms .NET Platform Standard 1.5 должен быть совместим с .NET Framework 4.6.2. Я попытался использовать его (создать новую библиотеку классов .NET Platform Standard, затем новое консольное приложение .Net Framework 4.6.2), но библиотека не распознается. Что я делаю неправильно?Как использовать .Net Core Class Library (.NetStandard v1.5) в .Net Framework 4.6.2 Приложение

project.json в библиотеке классов:

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.5.0-rc2-24027" 
    }, 

    "frameworks": { 
     "netstandard1.5": { 
      "imports": "dnxcore50", 
      "buildOptions": { "embed": "true" } 
     } 
    } 
} 
+0

Должен ли он быть 'netstandard1.6' TFM (целевая структура кличка) –

+0

К сожалению, это .Net 4.6.2. Что мне нужно в «рамках» в project.json? – Mottor

+1

Можете ли вы поделиться обоими файлами project.json? –

ответ

1

Если вы получаете последнюю версию ядра .net RTM выпуск и обновление 3 VS оснастки, вещи немного лучше, чем они были в период RC. Тем не менее, нет простых ссылок на проекты из csproj, ссылающихся на xproj, но вы можете заставить поговорить, собрав вывод xproj в пакет nuget, а затем с помощью диспетчера пакетов для установки этого пакета. Кроме того, вам не нужно импортировать фреймворк или зависимость от netstandard.library, по крайней мере, я этого не делаю. Вот как я сделал это:

  • Создать CMD-файл, который будет упаковать в NuGet файлы и два скопировать выходные файлы в папку, где менеджер пакета ожидающей их. Вот этот сценарий, я называю это makeNuget.cmd:

    IF "% 1" == "% 2" (

    DotNet пакет --no-построить --configuration% 1 -о ../%3

    хсору% 4 "... \% 3 \ Lib \% 5 \"/Y

    )

  • Добавить postbuild сценарий в project.json в xproj, чтобы запустить сценарий

    "scripts": {
    "postcompile": [ "% компиляция makeNuget.cmd: Конфигурация пакеты% Release \% проект: Имя%% компиляция: OutputDir%% компиляция: TargetFramework%"
    ] }

Это должно оставить вас с пакетом NuGet в пакетах \ [Projectname] \ папку в корне вашего решения, с двоичными файлами в пакетах \ [Projectname] \ Lib \ [targetFramwork] \ папка

  • Теперь вам нужно для добавления папки пакетов в качестве источника пакета, поэтому сначала откройте консоль менеджера пакетов, затем нажмите маленькую шестерню, чтобы добавить источник пакета (или Ctrl + Q, источники пакета, Enter). Затем нажмите кнопку «Добавить», назовите этот источник, просмотрите или введите каталог пакетов и нажмите «ОК». enter image description here
  • В консоли менеджера пакетов убедитесь, что в раскрывающемся списке вверху указаны оба источника и проекта пакета.
  • установки-пакета [имя пакета]

AFAIK, это так же хорошо, как он получает в данный момент.

0

Вам действительно нужно приложение .Net Framework 4.6.2?

Я только что создал PCL (переносимую библиотеку классов) с таргетингом на .NETStandard1.4, и я могу использовать его в приложении WPF, ориентированном на .NET Framework 4.6.1. Вот как мой project.json выглядит в проекте PCL:

{ 
    "supports": {}, 
    "dependencies": { 
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 
    "NETStandard.Library": "1.6.0" 
    }, 
    "frameworks": { 
    "netstandard1.4": {} 
    } 
} 
Смежные вопросы