Dotnet tool restore не удается найти файл манифеста
Я не могу пройти аутентификацию в AWS CodeArtifact из действия GitHub. Ответ AWS всегда 401. Я выполняю следующие шаги: шаги: - name: Настройка учетных данных AWS использует: .
В настоящее время я столкнулся с ошибкой (см. Снимок экрана), когда я больше не могу добавлять зависимости в свое решение Visual Studio. Это связано с проблемами пути или происходит что-то еще. Я уже пробовал восстановить nuget, очистить раствор и т. Д. Причина, по которой имена файлов такие длинны.
Решение, построенное с помощью конвейера Azure DevOps, имеет несколько проектов, в которых используются условные ссылки на пакеты, такие как:
Здравствуйте, я пытаюсь dockerize приложение ASP NET Core 2.1, и docker build не работает при выполнении dotnet restore. Я уже проверил другие темы для этой конкретной проблемы Ошибка попытки подключения Nuget" Не удалось загрузить индекс службы для источника " . Предоставленные там решения мне.
Мы используем частный канал NuGet для управления парой зависимостей. После обновления зависимости (например, добавления свойства к классу) и запуска сборки и выпуска я вижу, что dotnet restore загружает новую версию: $ dotnet restore Restoring packages for C:\Users\me\blah\whatever.csproj. Ins.
Попытка VSTS собрать наше базовое приложение .NET, которое мы обновили с 2.0 до 2.1. Когда я собираю локально с SDK версии 2.1.301, все в порядке. Но сборка VSTS терпит неудачу. Итак, у меня есть global.json в корень проекта, который не удалось добавить, но это не решило проблему: < "sdk": < .
Вопрос Можно ли переместить папку %USERPROFILE%\.dotnet и %USERPROFILE%\.nuget на диск, не связанный с ОС (в моем случае диск D:). Ограничения Я использую виртуальную машину, предоставленную организацией, в которой я работаю; с ограниченным пространством на диске ОС. Нас просят сохранить данные на .
По какой-то причине мне приходится использовать агент сборки «Hosted Linux Preview», поэтому я могу использовать только «dotnet restore» вместо «nuget restore», и теперь у нашей команды есть внутренний сервер пакетов, построенный на VSTS. На шаге «восстановление nuget» есть возможность подключиться .
У меня проблема с тем, что nuget получает первую сборку конкретной версии сборки, а не последнюю сборку. Вот шаги, объясняющие, что происходит: Удаление локального кеша nuget. Удалите файлы project.lock.json в проекте. Проверка номера сборки для последней сборки в фиде nuget: 102 Запустите dotnet r.
Я обновил project.json библиотеки классов, чтобы использовать netstandard1.3 и net64. С этим изменением: $ dotnet restore log : Restoring packages warn : Dependency specified was NETStandard.Library (>= 1.3.0) but ended up with NETStandard.Library 1.6.0. Я публикую библиотеку, и мне действи.
В этом учебнике вы узнаете, как установить и использовать локальное средство. Вы используете инструмент, созданный в первом учебнике этой серии.
Предварительные требования
Expected behavior
dotnet paket restore should execute successfully.
Установка botsay в качестве локального средства
Установите средство из пакета, который вы создали в первом учебнике:
Эта команда добавляет средство в файл манифеста, созданный на предыдущем шаге. Вывод команды показывает, в каком файле манифеста находится только что установленное средство:
Файл .config/dotnet-tools.json теперь содержит одно средство:
Actual behavior
error at dotnet paket restore
Восстановление локального инструмента, установленного другими пользователями
Обычно вы устанавливаете локальное средство в корневой каталог репозитория. После записи файла манифеста в репозиторий после изменения, другие разработчики получают последний файл манифеста. Чтобы установить все средства, перечисленные в файле манифеста, они могут запустить всего лишь одну команду dotnet tool restore .
Откройте файл .config/dotnet-tools.json и замените его содержимое на следующий JSON:
Внесение этого изменения аналогично получению последней версии из репозитория после установления пакета dotnetsay для каталога проекта другим пользователем.
Выполните команду dotnet tool restore .
После выполнения команды должен появиться результат, подобный приведенному ниже.
Убедитесь, что средства доступны:
Выходные данные представляют собой список пакетов и команд, как показано в следующем примере:
im-avi commented Jul 23, 2020
Удаление локального средства
Удалите установленные средства, выполнив команду dotnet tool uninstall:
Создание файла манифеста
Чтобы установить средство только для локального доступа (для текущего каталога и подкаталогов), его необходимо добавить в файл манифеста.
Из папки microsoft.botsay перейдите на один уровень вверх к папке repository:
Создайте файл манифеста, выполнив команду dotnet new:
Выходные данные свидетельствуют об успешном создании файла.
Файл .config/dotnet-tools.json пока не имеет в себе никаких средств:
Средства, перечисленные в файле манифеста, доступны для текущего каталога и подкаталогов. Текущим является каталог, содержащий каталог .config с файлом манифеста.
При использовании команды CLI, которая относится к локальному средству, пакет SDK ищет файл манифеста в текущем каталоге и родительских каталогах. Если он находит файл манифеста, но файл не включает указанное средство, поиск продолжается по родительским каталогам. Поиск заканчивается после нахождения указанного средства или файла манифеста с isRoot установленным на true .
3 Answers 3
I found 2 ways
try to run visual studio as administrator.
if (1.) does not work, in the project enter dotnet new tool-manifest , dotnet tool install dotnet-ef , dotnet tool restore .
Description
Somehow visual studio cannot access C://Users/AlexanderK/.nuget where global packages are installed.There can be some software on our pc that blocks visual studio to access globally installed packages. I'm not sure how nuget works but npm for nodejs works as search in the locally and globally installed packages. So in our case for visual studio there is no installed locally dotnet-ef while cannot access it globally.
In (1.) we run as admin and try to give the rights to visual studio to access the globally installed packages.
In (2.) we install dotnet-ef locally so nuget will find the package locally for sure.
More about dotnet tool commands - Official Docs
I recommend you to use (1.) because most PCs wont have that problem and installing packages like dotnet-ef locally is not good idea when you have it globally..
Я использую веб-публикацию из Visual Studio для развертывания приложения в различных средах, но это не удалось после обновления из-за миграции EF (попытка найти контексты БД не удалась):
ошибка dotnet ef dbcontext --json
Запустите «dotnet tool restore», чтобы сделать доступной команду «dotnet-ef».
Я пытался понять, что не так.
Не удается найти файл манифеста. Чтобы получить список искомых местоположений, укажите параметр «-d» перед именем инструмента. Инструменты не восстановлены.
Инструмент dotnet-ef уже установлен.
Манифест команд версии идентификатора пакета
(в этом списке нет пунктов)
Нужно ли мне обновляться, чтобы обновить все до 3.1? Я хотел бы отложить это, если это возможно (мне нужно сделать это в нескольких средах, и это запланировано на более позднее время).
Примечание. У меня также есть контексты миграции Visual Studio 2017 и Entity Framework, которые правильно обнаруживаются при настройке профиля публикации.
Вопрос: как решить проблему невозможности перечислить миграцию Entity Framework в Visual Studio 2019 из-за сбоя dotnet ef dbcontext --json?
У меня была такая же проблема (после обновления Visual Studio 2019), на моем компьютере эта проблема есть, а на другом компьютере - нет. Файлы все равны (проверено через git), VS2019 что-то где-то кеширует и это плохо.
1 Убедитесь, что строка подключения по умолчанию в порядке.
2 Проверьте, установлен ли dotnet ef. В ядре 3.1 необходимо установить: dotnet tool install -g dotnet-ef
3 Закройте VS, удалите папку /Properties (сделайте резервную копию, если хотите), откройте VS, очистите решение и снова импортируйте файл публикации.
Для Linux и macOS добавьте строку в конфигурацию вашей оболочки:
баш/зш: ( nano ./zshrc )
У меня была та же проблема, но я не знал, что мне нужно перейти в проект «сервер», а затем запустить dotnet tool restore . Это решило это для меня.
$ dotnet tool install --global dotnet-ef --version 3.0.0-preview4.19216.3 Дополнительные сведения см. в описании этого критического изменения.
Я думаю, что я решил это. Мне не хватало Microsoft.EntityFrameworkCore.Design.
-
Установлен Microsoft.EntityFrameworkCore.Design 3.0.0 с помощью NuGet.
Ran dotnet tool restore , что на этот раз было успешно
средство восстановления dotnet
Восстановлен инструмент dotnet-ef (версия 3.1.0). Доступные команды: dotnet-ef
Работа со средством
Запустите средство, выполнив команду dotnet tool run из папки репозиторий:
Обновление локального средства
Установленная версия локального средства dotnetsay — 2.1.3. Используйте команду dotnet tool update, чтобы обновить средство до последней версии.
В выходных данных указывается новый номер версии:
Команда update находит первый файл манифеста, содержащий идентификатор пакета, и обновляет его. Если такой идентификатор пакета отсутствует в любом файле манифеста, находящегося в области поиска, пакет SDK добавляет новую запись в ближайший файл манифеста. Область поиска поднимается вверх по родительским каталогам, пока не будет найден файл манифеста с isRoot = true .
Known workarounds
remove **/obj/ from .dockerignore
The text was updated successfully, but these errors were encountered:
Repro steps
Please provide the steps required to reproduce the problem
add /bin & /obj to .dockerignore file at root folder
add package to .csproject
POCs\HelloDI> cd .\src\HelloDI.Console\
POCs\HelloDI\src\HelloDI.Console> dotnet paket add Microsoft.Extensions.Configuration.Json --interactive
Docker file contents ( src\HelloDI.Console\Dockerfile )
- Local Msbuild successful.
POCs\HelloDI\src\HelloDI.Console> cd ..\..
POCs\HelloDI> dotnet build
Output
- Error during-Build Docker image
POCs\HelloDI> docker build -t hello-di/console:0.1 -f ./src/HelloDI.Console/dockerfile .
Output
Устранение неполадок
The command "dotnet paket restore" exited with code 1.
im-avi commented Jul 23, 2020
baronfel commented Jul 23, 2020
Thanks for the detailed breakdown, everything you say makes sense to me now
As per documentation dotnet restore implicitly calls dotnet tool restore
Any details on this? Apparently this has changed since I first started using dotnet tools. Right now I have dotnet tool restore in basically every CI/CD pipeline I use.
im-avi commented Jul 24, 2020 •
This is a problem with your docker file.
You need to run dotnet tool restore to ensure that the paket tool is installed for your repository before paket an be used to restore your dependencies.
Alternatively, since you've restored already in your dockerfile you can pass the --no-restore flag to dotnet publish to skip restoring at all, which should not trigger paket.
Just tried above suggestion : As I am trying to containerize a single project from multi-project solution
I'm having a quite strange situation with Visual Studio and EF migrations in Publish Profile. Given:
I've created migrations in local project and when trying to enumerate migrations in publish profile, I get
I don't know what this error means, because dotnet-ef tools seems installed:
Last line doesn't change anything. I can use PS commands such as Add-Migration , Update-Database , or cmd commands such as dotnet ef migrations add , dotnet ef database update . dotnet-ef <. >work as well. The only place where they don't work -- publish profile settings. I can't enable checkbox to run migrations on publish.
Data project has referenced these EF-related packages:
UI project references only Design :
While I'm not using Windows for development, I can theorize that it might have something to do with the user privileges (I had similar problem in Linux). If the tools are installed only for specific user profile or, for instance, the directory where dotnet ef resides is missing from the PATH environment variable of the user which executes the publish, then you might get this.
I'm suddenly having exactly the same issue as of today. Haven't really changed anything in my project apart from a bit of HTML, but I did update VS2019. However, I have the same problem when cloning the same repo to a laptop with an old version of VS2019.
Читайте также: