Nuget包未恢复

时间:2017-06-17 17:40:07

标签: c# asp.net-mvc git visual-studio-2015 nuget

我从Gitub克隆了项目。我的解决方案有6个项目,每个项目都有packages.config文件(包含软件包及其版本的列表),但这些软件包不会被恢复。

方法我已尝试恢复nuget包:

  1. 在Visual Studio中:Tools -> Options -> Nuget Package Manger -> General并选中了两个选项。
  2. web.config文件中写下以下代码:
  3. <packageRestore> <!-- The 'enabled' key is True when the "Allow NuGet to download missing packages" checkbox is set. Clearing the box sets this to False, disabling command-line, automatic, and MSBuild-Integrated restore. --> <add key="enabled" value="True" /> </packageRestore>

    此项目的已恢复软件包,但其他项目没有web.config文件。

    1. %AppData%\NuGet\NuGet.Config中添加了以下代码:
    2. <configuration> <packageRestore> <!-- The 'automatic' key is set to True when the "Automatically check for missing packages during build in Visual Studio" checkbox is set. Clearing the box sets this to False and disables automatic restore. --> <add key="automatic" value="True" /> </packageRestore> </configuration>source

      1. 在程序包管理器控制台中运行此命令:Update-Package –reinstall 它为所有包裹说了这个:
      2. Package 'Abp.2.1.2' already exists in project 'TempABP5.Migrator' Successfully installed 'Abp 2.1.2' to TempABP5.Migrator

        1. NuGet.Config文件旁边创建了一个.sln文件,其中包含:

          <?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://www.nuget.org/api/v2/" /> <add key="aspnetwebstacknightlyrelease" value="https://www.myget.org/f/aspnetwebstacknightlyrelease/" /> </packageSources> </configuration>

        2. source

          1. 通过从.csproj文件中删除以下代码进行测试:
          2. <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>source

            但我仍然无法恢复包,项目无法构建。如何恢复丢失的包?

            更新

            下图包含项目和错误的屏幕截图:enter image description here

            我删除了bin / obj文件夹中的所有数据,然后清理解决方案然后构建但是同样的错误..

            然后我再次运行命令Update-Package –reinstall以确保包已经存在且结果为:

1 个答案:

答案 0 :(得分:0)

  

安装失败。回滚......包装&#34; A&#34;不存在于   项目。包&#34; A&#34;已存在于文件夹中。

那是因为&#34;包&#34; git版本控制下的文件夹。你应该使用.gitignore文件让Git忽略packages文件夹的内容。

有关详细信息,请参阅Omitting NuGet packages in source control systems

希望这可以帮到你。