Сборка VS завершается неудачно для проекта .NET из-за ошибок восстановления пакета NuGet - PullRequest
0 голосов
/ 02 октября 2018

Я работаю над проектом MVC.NET с использованием .NET 4.5.2 в Visual Studio 17, сборка которого невозможна из-за ошибки:

Сборка восстановила пакеты NuGet.Снова соберите проект, чтобы включить эти пакеты в сборку.Для получения дополнительной информации см. http://www.postsharp.net/links/nuget-restore.

Моя версия PostSharp - 4.1.30.

Эта ошибка возникает каждый раз, когда я собираю или перестраиваю проект, и не исчезает после сборкинесколько раз подряд.Ошибка происходит для нескольких проектов, которые ссылаются на PostSharp.

Ошибка возникает только после внесения изменений в решение.Если я закажу свежую копию Trunk, я смогу загрузить сайт.Только после того, как есть шанс, что эти ошибки произойдут.Изменение может быть небольшим, например, добавление нового файла контроллера в несвязанный проект, на который ссылаются ошибки.

Я попытался восстановить свои пакеты NuGet, перезагрузить компьютер, даже удалить репозиторий и повторно проверить чистую установку Trunk.Как я могу пройти эту ошибку?Я не уверен, действительно ли это связано с PostSharp или более общей ошибкой NuGet.

После просмотра файла .csproj, чтобы увидеть причину ошибки в одном из проектов, я обнаружил следующие строки:

 <Import Project="packages\PostSharp.4.1.25\tools\PostSharp.targets" Condition="Exists('packages\PostSharp.4.1.25\tools\PostSharp.targets')" />
 <Target Name="EnsurePostSharpImported" BeforeTargets="BeforeBuild" Condition="'$(PostSharp30Imported)' == ''">
    <Error Condition="!Exists('packages\PostSharp.4.1.25\tools\PostSharp.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://www.postsharp.net/links/nuget-restore." />
    <Error Condition="Exists('packages\PostSharp.4.1.25\tools\PostSharp.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://www.postsharp.net/links/nuget-restore." />
  </Target>

Я попытался удалить его, чтобы увидеть, что произойдет, новозможно неудивительно, что это не построило и не сообщило ни о каких ошибках.

1 Ответ

0 голосов
/ 02 октября 2018

Это похоже на проблему с обновлением пакета PostSharp NuGet.В вашем файле .csproj установлен PostSharp 4.1.25, но вы говорите, что используете PostSharp 4.1.30.

Может помочь одно из следующих действий:

  • Либо изменитеверсия пакета в packages.config до 4.1.25, проверьте, собирается ли проект, а затем используйте диспетчер пакетов NuGet для обновления до более новой версии, если это необходимо,
  • или удалите PostSharp из packages.confing и .csproj (строкивы показываете + ссылку на PostSharp.dll и любые другие PostSharp. *. dll), затем установите PostSharp с помощью диспетчера пакетов NuGet.

Обратите внимание, что PostSharp 4.1 больше не поддерживается.См. https://www.postsharp.net/support/policies#support для списка поддерживаемых версий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...