2017-01-30 11 views
4

У меня есть два проекта: один проект построен на .NET Core, а другой - на обычной .NET Framework 4.5.2.Использование библиотеки .NET Core в консольном приложении .NET 4.5.2

Я хочу знать, как я могу использовать свою библиотеку .NET Core cass в моем приложении .NET Console.

Вот мой project.json:

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "NLog.Web.AspNetCore": "4.3.0", 
    "System.Xml.XmlSerializer": "4.0.11" 
    }, 

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

Я попытался включить проект в качестве нормальной ссылки. Но после повторного создания решения консольное приложение по-прежнему не получает библиотеку .NET Core в качестве ссылки.

+0

Используйте Visual Studio 2017 и повторите попытку. –

ответ

2

Visual Studio 2017 может сделать это изначально; Visual Studio 2015 не может (начиная с версии 3). Многие из этих ошибок и проблем с инструментами фиксируются и завершаются стабильной версией инструментария .NET Core, ожидаемой с VS 2017.

Существует два обхода, которые вы можете использовать сегодня, если вы все еще используете VS 2015:

  • Использование dotnet pack для получения пакета NuGet для библиотеки классов. Поскольку вы нацеливаете net452 в свой project.json, он будет совместим с проектом .NET Framework 4.5.2. Вы можете разместить его на local feed и установить его в своем проекте консольного приложения.

  • Вручную ссылайтесь на DLL, создаваемую при компиляции библиотеки. Он должен быть в bin/net452/YourLibrary.dll. Это не очень хорошее решение, потому что оно хрупкое и легко ломается.

+0

Спасибо Нейту, это сработало для меня. – ThatAwesomeCoder

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

  • Нет связанных вопросов^_^