Устранение неполадок при использовании средств.NET
При попытке установить или запустить глобальное или локальное средство.NET могут возникнуть проблемы. В этой статье описываются их типичные первопричины и возможные решения.
Установленное средство.NET не запускается
Если средство.NET не запускается, наиболее вероятной причиной является одна из следующих:
Исполняемый файл не найден
Если исполняемый файл не найден, появляется примерно следующее сообщение.
Имя исполняемого файла определяет то, как вызывается средство. Формат описывается в приведенной ниже таблице.
dotnet-.exe | dotnet |
.exe |
Глобальные средства
Глобальные средства можно установить в каталоге по умолчанию или в выбранном вами расположении. Каталоги по умолчанию:
Linux/macOS | $HOME/.dotnet/tools |
Windows | %USERPROFILE%.dotnettools |
Если вы пытаетесь запустить глобальное средство, убедитесь в том, что переменная среды PATH на компьютере содержит путь, по которому установлено глобальное средство, и что исполняемый файл находится по этому пути.
ошибка dbghelp.dll — блокирующая браузеры на компе. Способ решения
Интерфейс.NET CLI пытается добавить расположение по умолчанию в переменную среды PATH при первом использовании. Однако есть определенные ситуации, когда расположение не удается добавить в переменную PATH автоматически:
- используется ОС Linux, и пакет SDK для.NET установлен с помощью файлов .tar.gz, а не apt-get или rpm;
- используется ОС macOS 10.15 «Catalina» или более поздней версии;
- используется ОС macOS 10.14 «Mojave» или более ранней версии, и пакет SDK для.NET установлен с помощью файлов .tar.gz, а не .pkg;
- установлен пакет SDK для.NET Core 3.0, и переменной среды DOTNET_ADD_GLOBAL_TOOLS_TO_PATH присвоено значение false;
- установлен пакет SDK для пакет SDK.NET Core 2.2 или более ранней версии, и переменной среды DOTNET_SKIP_FIRST_TIME_EXPERIENCE присвоено значение true.
В таких сценариях, а также если указан параметр —tool-path, в переменную среды PATH на вашем компьютере не будет автоматически добавляться путь, по которому было установлено глобальное средство. В этом случае необходимо добавить в переменную среды PATH расположение этого средства (например, $HOME/.dotnet/tools ) с использованием любого метода обновления переменных среды, предусмотренного в вашей оболочке. Дополнительные сведения см. в разделе о средствах.NET.
Локальные средства
Если вы пытаетесь запустить локальное средство, убедитесь в наличии файла манифеста с именем dotnet-tools.json в текущем каталоге или в любом из его родительских каталогов. Этот файл также может находиться в папке .config где угодно в иерархии папок проекта, а не в корневой папке. Если файл dotnet-tools.json существует, откройте его и проверьте наличие средства, которое вы пытаетесь запустить. Если в файле нет записи для «isRoot»: true, также проверьте наличие дополнительных файлов манифестов средств выше в иерархии файлов.
Если вы пытаетесь запустить средство.NET, которое было установлено по указанному пути, необходимо включить этот путь при использовании средства. Пример средства, установленного по определенному пути:
Среда выполнения не найдена
Средства.NET — это приложения, зависящие от платформы, то есть от среды выполнения.NET, установленной на компьютере. Если ожидаемая среда выполнения не найдена, они следуют обычным правилам наката среды выполнения.NET:
- Накат выполняется к последнему номеру выпуска исправления указанной основной и дополнительной версии.
- Если соответствующая среда выполнения с соответствующими номерами основной и дополнительной версий отсутствует, используется следующий последний дополнительный номер версии.
- Накат не выполняется между предварительными версиями среды выполнения или между предварительной версией и версией выпуска. Таким образом, средства.NET, созданные с помощью предварительных версий, должны быть перестроены и повторно опубликованы автором, а затем переустановлены.
Накат не выполняется по умолчанию в двух распространенных сценариях:
- доступны только более ранние версии среды выполнения; при накате выбираются только более поздние версии среды выполнения;
- доступны только более поздние основные версии среды выполнения. При накате границы основной версии не пересекаются.
Если приложению не удается найти подходящую среду выполнения, оно не запускается и сообщает об ошибке.
Узнать, какие среды выполнения.NET установлены на компьютере, можно с помощью следующих команд:
Если вы считаете, что средство должно поддерживать версию среды выполнения, установленную в настоящее время, обратитесь к автору средства и узнайте, может ли он обновить номер версии или перенацелить средство на несколько версий. После того как автор перекомпилирует и повторно опубликует пакет средства в NuGet с обновленным номером версии, вы можете обновить свою копию. Пока же этого не произошло, проще всего установить версию среды выполнения, совместимую со средством, которое вы пытаетесь запустить. Чтобы скачать определенную версию среды выполнения.NET, перейдите на страницу скачиваемых файлов.NET.
Если пакет SDK для.NET устанавливается в месте, отличном от расположения по умолчанию, необходимо присвоить переменной среды DOTNET_ROOT каталог, содержащий исполняемый файл dotnet.
Не удается установить средство.NET
Установка глобального или локального средства.NET может завершиться сбоем по ряду причин. Если при установке средства происходит сбой, появляется примерно следующее сообщение:
Помимо предыдущего сообщения, пользователю также выводятся сообщения NuGet, помогающие диагностировать эти сбои. Сообщение NuGet может помочь определить причину проблемы.
Изменение имен пакетов
Корпорация Майкрософт изменила правила в отношении идентификаторов пакетов для средств, из-за чего некоторые средства теперь невозможно найти по прежним именам. Новое руководство заключается в том, что все средства корпорации Майкрософт имеют префикс Microsoft. Этот префикс зарезервирован и может использоваться только для пакетов, подписанных с помощью полномочного сертификата Майкрософт.
Во время перехода некоторые средства Майкрософт будут иметь старую форму идентификатора пакета, а другие — новую форму:
По мере обновления идентификаторов пакетов необходимо будет перейти на новый идентификатор, чтобы получить последние обновления. Пакеты с упрощенными именами средств станут нерекомендуемыми.
Предварительные выпуски
- Вы пытаетесь установить предварительный выпуск и не использовали параметр —version для указания версии.
Если средство.NET находится на стадии предварительной версии, это должно быть указано в части имени. Указывать предварительную версию полностью не нужно. Если номера версий имеют ожидаемый формат, можно использовать нечто подобное:
Пакет не является средством.NET
- Пакет NuGet с таким именем найден, но не является средством.NET.
При попытке установить пакет NuGet, который является обычным пакетом NuGet, а не средством.NET, вы увидите такое сообщение об ошибке:
NU1212: недопустимое сочетание проекта и пакета для. Стиль проекта DotnetToolReference допускает только ссылки типа DotnetTool.
Веб-канал NuGet недоступен
- Не удается получить доступ к требуемому веб-каналу NuGet, возможно, из-за проблемы с подключением к Интернету.
Для установки средства требуется доступ к веб-каналу NuGet, содержащему пакет средства. Установка завершается сбоем, если этот веб-канал недоступен. Вы можете изменить веб-каналы с помощью nuget.config, запросить определенный файл nuget.config или указать дополнительные веб-каналы с помощью параметра —add-source. По умолчанию NuGet выдает ошибку для каждого веб-канала, к которому не удается подключиться. Флаг —ignore-failed-sources позволяет пропускать недоступные источники.
Неправильный идентификатор пакета
- Вы неправильно ввели имя средства.
Распространенной причиной ошибок является неправильное имя средства. Такое может случаться из-за ошибок при вводе или из-за того, что средство было перемещено либо устарело. Если средство размещено на сайте NuGet.org, один из способов гарантировать правильность имени — выполнить поиск средства на сайте NuGet.org и скопировать команду установки.
401 (не санкционировано)
Скорее всего, вы указали альтернативный канал NuGet, и этот канал требует проверки подлинности. Вот несколько разных способов решить проблему:
Добавьте параметр —ignore-failed-sources, чтобы обойти ошибку из закрытого канала и использовать общедоступный канал Майкрософт.
Если вы устанавливаете средство из канала Microsoft NuGet, пользовательский канал возвращает эту ошибку, прежде чем канал Microsoft NuGet вернет результат. Ошибка завершает запрос, отменяя любые другие ожидающие запросы канала, который может быть каналом Microsoft NuGet. Добавление параметра —ignore-failed-sources приводит к тому, что команда обрабатывает эту ошибку как предупреждение и позволяет другим каналам обработать запрос.
Принудительно используйте канал Microsoft NuGet с параметром —add-source.
Возможно, в глобальном или локальном файле конфигурации NuGet отсутствует общедоступный канал Microsoft NuGet. Используйте сочетание параметров —add-source и —ignore-failed-sources, чтобы избежать ошибочного канала и использовать общедоступный веб-канал Майкрософт.
Используйте настраиваемую конфигурацию NuGet, параметр —configfile.
создайте локальный файл nuget.config, используя только общедоступный веб-канал NuGet майкрософт, и сослаться на него с помощью параметра:
Пример файла конфигурации:
Добавьте необходимые учетные данные в файл конфигурации.
Если пакет точно существует в настроенном веб-канале, укажите учетные данные для входа в файле конфигурации NuGet. Дополнительные сведения об учетных данных в файле конфигурации NuGet см. в разделе packageSourceCredentials в справочнике по nuget.config.
ИсточникНевозможно запустить Менеджер браузеров — что делать
Чтобы избавиться от попыток сторонних программ изменить настройки обозревателя используется Менеджер браузеров. Что это такое, как с ним работать было подробно описано в статье. Но иногда невозможно запустить Менеджер браузеров. Рассмотрим три причины почему это происходит, и что предпринять.
Невозможно запустить менеджер браузеров что делать
При включении ПК (если утилита настроена на загрузку при старте системы) появляется такая ошибка.
Причина — случайно удаленные файлы менеджера. Что предпринять?
- Открываем «Панель управления»,
- Далее «Программы и компоненты»,
- Находим программу, нажимаем «Изменить».
Далее нажмите кнопку «Восстановить».
Отключена функция UAC
Утилита работает в операционной системе Windows. Для ее работы активируйте функцию контроля учетных записей (UAC). Актуально, если на ПК несколько учетных записей, так как приложение устанавливается в учетной записи конкретного пользователя.
Для ее включения выполните последовательность таких действий:
- Нажмите «Пуск»-«Выполнить». Далее пропишите команду «msconfig»,
- Переходим на вкладку «Сервис»,
- В открывшемся списке находим пункт «Настройка контроля учета»,
- Нажимаем кнопку «Запуск» для включения.
Перезагрузите ПК чтобы активировать изменения.
Проблемы с.Net.Framework 4.0
Чтобы приложения работали правильно, необходимые алгоритмы собраны на одной платформе Net.Framework. Это ПО, работающее с приложениями, требующими обработки пакетов данных, с возможностью доступа к службам интернет.
Для работы утилиты необходим Net.Framework 4. Если у вас появилось сообщение (как в начале статьи) что не запускается среда исполнения Net, причина — неправильная установка фреймворка.
Скачайте и установите данный фреймворк самостоятельно с официального сайта по адресу: https://www.microsoft.com/ru-ru/download/details.aspx?id=17718
Не удаляйте старые установленные версии.
Вывод
Если приложение перестало работать не спешите его удалять. Рассмотренные выше способы помогут в решении этой проблемы. Попробуйте сразу первый способ — восстановление программы.
Источник