我在输出窗口中收到以下错误:
D:\{solutionPath}\.nuget\nuget.targets(76,9): error :
D:\{solutionPath}\.nuget\nuget.targets(76,9): error : Unhandled Exception: OutOfMemoryException.
D:\{solutionPath}\.nuget\nuget.targets(76,9): error MSB3073: The command ""D:\{solutionPath}\.nuget\nuget.exe" install "D:\{pathToConfigLocation}\packages.config" -source "" -o "D:\{solutionPath}\packages"" exited with code -1.
上面是NuGet.targets。
D:\{solutionPath}\.nuget\nuget.targets(76,9): error :
D:\{solutionPath}\.nuget\nuget.targets(76,9): error : Unhandled Exception: OutOfMemoryException.
D:\{solutionPath}\.nuget\nuget.targets(76,9): error MSB3073: The command ""D:\{solutionPath}\.nuget\nuget.exe" install "D:\{pathToConfigLocation}\packages.config" -source "{localPackageDir}" -o "D:\{solutionPath}\packages"" exited with code -1.
我的包源是否在NuGet.targets
中当构建正在进行时,它会创建尽可能多的nuget.exe进程,因为它会占用所有内存,然后它会失败并再次进行。
我已经接受了命令并通过cmd运行它。
"D:\{longPah}\.nuget\nuget.exe" install "D:\{longPah}\packages.config" -source "\\{longPah}\NuGetPackages" -o "D:\{longPah}\packages"
这给了我以下错误:
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembl
y 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or
one of its dependencies. Exception from HRESULT: 0x800705AF
at Bootstrapper.Program.Main(String[] args)
我的机器上有.net 4。
如果可以,请帮忙。
谢谢, 大卫
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Company.Common.Library" version="0.1.2" targetFramework="net35" />
</packages>
按要求packages.config。
我尝试通过Visual studio命令提示符(以管理员身份运行)运行命令,并抛出以下异常:
未处理的异常:OutOfMemoryException。
我想我发现了问题......它似乎与.nuget文件夹中的nuget.exe有关。
我有几个解决方案,发现一对工作,腰部负载时间查看文件权限(被告知这是问题)然后考虑检查每个解决方案中的nuget.exe属性。
在我找到的解决方案中:
在我找不到的解决方案中:
如您所见,两者的文件大小截然不同。所有项目都由团队中的不同人员添加,这可能是开发人员机器上安装的nuget版本的问题吗?
如果有这样的话,当你选择为解决方案启用包恢复时,是否有人知道哪个版本的nuget会导致上述问题?我在我的机器上安装了最新版本的NuGet。
答案 0 :(得分:12)
它们都会导致错误。较小的文件只是一个shell,它将命令传递给下载到%LOCALAPPDATA%\ NuGet的实际版本。它每10天检查一次新版本。
看一下这个问题:http://nuget.codeplex.com/workitem/2390(nuget包恢复假定是因特网访问) - 可能是18K shell试图将完整的nuget.exe下载到%LOCALAPPDATA%\ NuGet文件夹并且可以'由于某种原因。
当NuGet 2.0发布时,它已获得Package Restore的选择同意。请查看http://blog.nuget.org/20120619/nuget-2.0-released.html和http://blog.nuget.org/20120518/package-restore-and-consent.html,其中详细说明了要使其发挥作用需要做些什么。
或者,您可以使用NugetEnablePackageRestore包永久接受完整的同意 - http://nuget.org/packages/NuGetEnablePackageRestore - 请注意,此修复程序将修复所有未来用户,包括构建服务器。