К сожалению, ребята, этому нужно немного контекста, потерпите меня.
Итак, несколько месяцев назад я получил подарок от Microsoft в виде проблемы с пакетами .net, необходимыми для публикации в Azure. В основном это означало, что в течение нескольких дней было невозможно опубликовать в Azure из Visual Studio, а если вы попытаетесь, то ваш сайт просто отключится и не позволит вам его поднять. К счастью, я смог решить эту проблему благодаря ответу в этом посте: Службы приложений Azure не запускаются после обновления App Insights до версии 2.5
Однако это исправление включало установку предварительного пакета вместе с кучей зависимостей, которые оставили меня с грязным проектом (как меня предупредили, в то время это стоило компромисса, поскольку не было никакого способа узнать, когда я смогу чтобы восстановить мой сайт).
Однако теперь я хотел бы избавиться от этого пакета и очистить свой проект, чтобы я мог перейти от .net core 2.0 к некоторым из более полезных версий, но все, что я пытался сделать до сих пор, потерпело неудачу.
Есть ли у кого-нибудь хорошие советы по очистке этих грязных проектов или, в частности, как, черт возьми, я могу удалить этот и все связанные пакеты? Microsoft.AspNetCore.AzureKeyVault.HostingStartup — версия 2.1.0-preview1-27946
Вещи, которые я пробовал, к сожалению, не помогло:
csproj и не нашел.Стоит отметить, что на этом этапе мой проект был полностью сломан, так как не разрешилась ни одна зависимость Microsoft.AspNetCore. Это было исправлено повторной загрузкой проклятого пакета, но теперь я просто вернулся к исходной точке. Конечно, мой проект собирается и развертывается нормально, но я снова вынужден использовать Microsoft.NetCore.App V2.0.0.
Конечно, давайте посмотрим, все ли я помню, поскольку я занимался этим пару дней. -Первое, что я попробовал, это обновить Microsoft.NetCore.App до предыдущей или текущей версии. Это было остановлено NuGet с несколько ожидаемой ошибкой «Неявно ссылается SDK». -Далее я попытался загрузить последнюю версию SDK и установить, но это не дало видимого эффекта. - Попытался удалить все существующие версии SDK, загрузить только последние и обновленные версии Visual Studio. (Это был самый многообещающий шаг). 1/2
Однако в этот последний момент я начал получать сообщение об ошибке, что проект не может найти пакет, указанный выше, но я не мог найти то, что ссылается на него, независимо от того, где я искал (по общему признанию, я не очень хорошо ищу это), Я проверил Nuget, все мои файлы csproj и не упоминал об этом, а также «лунную» попытку выполнить поиск этой строки во всех файлах проекта, что позволило бы мне искать их как текст. 2/2
Стоит отметить, что на этом этапе мой проект был полностью сломан, так как не разрешилась ни одна зависимость Microsoft.AspNetCore. Это было исправлено повторной загрузкой проклятого пакета, но теперь я просто вернулся к исходной точке. Конечно, мой проект собирается и развертывается нормально, но я снова вынужден использовать Microsoft.NetCore.App версии 2.0.0.
Во-первых, прочитайте документы и поймите, что означает неявная версия. Это позволяет вам удалить большинство пакетов, которые уже включены в метапакет, и УДАЛИТЬ атрибут Version=xxx в метапакетах PackageReference, затем он выберет последнюю установленную в вашей системе среду выполнения, которая соответствует вашей целевой платформе netcoreapp2.2, выбирая последние пакеты 2.2.x. ). Чтобы использовать более новые пакеты, измените платформу (netcoreapp2.2 либо в cs proj, либо в свойствах)
Спасибо @Tseng, не совсем то, о чем был вопрос, но это уместно читать сейчас, когда у меня есть проект на 2.2, который действительно собирается.





Скорее всего, кешированные выходные данные проектов могут мешать вам. К сожалению, у меня тоже такое было несколько раз. Чистый раствор вам не поможет.
Попробуйте выполнить следующие действия:
csproj в текстовом редакторе и установите TargetFramework на netcoreapp2.2.bin и obj во всех проектах в решении.Поскольку я довольно часто сталкивался с проблемами в папках bin и obj, я даже создал файл cleanme.bat, чтобы удалить все файлы в этих папках:
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S bin') DO RMDIR /S /Q "%%G"
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S obj') DO RMDIR /S /Q "%%G"
Ну, это сработало. Я пробовал как чистую, так и ручную настройку TargetFramework, но обе попытки были предприняты изолированно и из Visual Studio. Эти инструкции упорядочили все.
Не могли бы вы немного подробнее рассказать о «но все, что я пытался сделать до сих пор, не удалось»? Что вы пробовали? Это помогает нам не делать предложения, которые вы уже пробовали, и избавляет вас от необходимости комментировать «Да. Пробовал. Не сработало». слишком часто ;)