Страницы

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

воскресенье, 15 декабря 2019 г.

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

#net #visual_studio_2017 #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). Здесь добавил нугет пакет и ссылка на библиотеку работает нормально, то есть,
приложение запускается и константа отображается. Думаю, что этот аспект к теме не относится.

Благодарю! 
    


Ответы

Ответ 1



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

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

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