5

Я использовал расширение GitHub Visual Studio 2015 для клонирования моего проекта на новый компьютер. Я пытаюсь восстановить пакеты и я получаю ошибку, которая говорит:Ошибка восстановления пакета NuGet для проекта PROJECT: невозможно найти версию 2.0.0 пакета «Microsoft.Net.Compilers»

NuGet Package restore failed for project PROJECT: Unable to find version 2.0.0 of package 'Microsoft.Net.Compilers' 

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

Я попытался удалить папку с папками, снова открыв Visual Studios, а затем перестраивая. Это не разрешило это.

Я попытался вручную установить Microsoft.Net.Compilers в консоли диспетчера пакетов.

PM> Install-Package Microsoft.Net.Compilers 

Я попытался удалить этот бит кода из файла csproj (это, казалось, работал для некоторых):

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
    <PropertyGroup> 
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
    </PropertyGroup> 
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> 
</Target> 

Я пытался переустановить все пакеты с

Update-Package –reinstall 

До сих пор я не удавалось решить эту проблему. Любая помощь приветствуется.

EDIT:

I tried the response below and received this error: 

Install-Package : Some NuGet packages are missing from the solution. The packages need to be restored in order to build the dependency graph. Restore the packages before performing any operations. 
At line:1 char:16 
+ Install-Package <<<< -Id Microsoft.Net.Compilers -Version 1.3.2 -Source nuget.org 
    + CategoryInfo   : InvalidOperation: (:) [Install-Package], InvalidOperationException 
    + FullyQualifiedErrorId : NuGetMissingPackages,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand 

Это также побудило меня восстановить пакеты. Когда я нажимаю восстановление, у меня такая же ошибка, как обычно.

ответ

8

На основании вашего сообщения об ошибке похоже, что вы ищете версию, которая больше не существует и не может определить, какой источник пакета вы выбрали. Я чувствую, что вы ищете версию 2.0.0, которая недоступна в репозитории nuget.org. Последний из них 2.0.0-rc, и он является кандидатом до релиза.

Пожалуйста, попробуйте эту команду, если вы хотите, чтобы получить последнюю версию

Install-Package -Id Microsoft.Net.Compilers -Version 2.0.0-rc -Source nuget.org 

Если вы хотите последнюю стабильную версию (1.3.2), попробуйте эту команду

Install-Package -Id Microsoft.Net.Compilers -Version 1.3.2 -Source nuget.org 

UPDATE Если пакет по-прежнему не может быть установлен, то этот пакет может быть не синхронизирован между пакетами .config, packages/folder и .csproj file

Выполняйте ручную очистку

  1. Закрыть визуальная студия.
  2. Открыть .csproj в блокноте или в текстовом редакторе и вручную удалить все записи, связанные с Microsoft.Net.Compilers
  3. Открыть файл pack.config в блокноте или в текстовом редакторе и удалить запись для Microsoft.Net.Compilers package
  4. Перейдите в папку/папку в проводнике Windows и удалите папку Microsoft.Net.Compilers
  5. Теперь запустите визуальную студию и откройте решение.
  6. Теперь попробуйте установить пакет еще раз.

Некоторые из записей, которые вы, возможно, придется удалить из .csproj как часть шага 2 являются эти

<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" /> 

<NuGetPackageImportStamp></NuGetPackageImportStamp> 

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
     <PropertyGroup> 
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
     </PropertyGroup> 
     <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props'))" /> 
</Target> 
+0

Благодарим за отзыв. Я пробовал оба из них, и каждый раз, когда я получал эту ошибку: Install-Package: некоторые пакеты NuGet отсутствуют в решении. Пакеты необходимо восстановить, чтобы построить граф зависимостей. Восстановите пакеты перед выполнением любых операций. В строке: 1 char: 16 + Install-Package <<<< -Id Microsoft.Net.Compilers -Version 1.3.2 -Source nuget.org + Категория: InvalidOperation: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId: NuGetMissingPackages, NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand –

+0

См. Мое обновление. Похоже, ваш пакет Microsoft.Net.Compilers может быть не синхронизирован между пакетами .config, packages/folder и .csproj. Перед повторной установкой вы должны вручную очистить его. – Vinod

+0

Это сработало отлично. Спасибо! –

0

Я знаю, почему, это в C: \ Program Files (x86) \ Microsoft SDKs \ NuGetPackages. Есть пакеты, которые вы установили ранее.

Смежные вопросы