Страницы

Поиск по вопросам

суббота, 27 октября 2018 г.

Не получается из консольного .Net Core сослаться на библиотеку .Net Standard

Создал библиотеку .net-standard, в ней определил класс Class1 и константу MyConst
Далее создал консольное приложение .net-core, в нём набросал такой код:
class Program { static void Main(string[] args) { Console.WriteLine(Class1.MyConst); Console.ReadLine(); } }
В моем случае .Net Standard имеет версию 1.3, а .Net Core имеет версию 1.0.
UPD: Версия студии: Microsoft VS Enterprise 2017 v. 15.4.0
(!) Проблема в том, что не получается запустить консольное приложение. Консоль мигает примерно на миллисекунду, но не ведет себя как ожидается, то есть, не выводит константу с содержанием "Hello world" и не останавливается на Console.ReadLine();
В output выводится следующая инфо:
Программа "[8376] dotnet.exe" завершилась с кодом -2147450749 (0x80008083). Программа "[8376] dotnet.exe: Трассировка программы" завершилась с кодом 0 (0x0).
Ну да и из картинки видно, что к библиотеке .net-standard (в которой класс Class1, в котором константа MyConst) так же идет обращение из WPF-ного приложения (.Net Framework 4.6). Здесь добавил нугет пакет и ссылка на библиотеку работает нормально, то есть, приложение запускается и константа отображается. Думаю, что этот аспект к теме не относится.
Благодарю!


Ответ

По коду ошибки удалось найти:
Перечисление StatusCode, в котором указано поле с данным значением - CoreHostLibMissingFailure Место где используется поле CoreHostLibMissingFailure - read_config_and_execute
Можно сделать вывод, что отсутствуют требуемые версии библиотек. После установки .NET Core SDK 1.1.10 ошибка у меня воспроизводиться перестала.

Комментариев нет:

Отправить комментарий