[英]Why is Nuget randomly crashing when restoring packages via command line?
我們不會將packages
文件夾提交到我們的存儲庫。 此外,我們不是在構建時恢復包(因為它可以增加構建時間),而是在克隆/簽出新的存儲庫時使用以下PowerShell模塊還原包:
$rootDir = resolve-path "$PSScriptRoot\.."
$nugetRoot = "$rootDir\.nuget"
$env:path += ";$nugetRoot"
function Restore-Packages() {
$packageSources = @(
"$nugetRoot",
"$rootDir/db",
"$rootDir/src",
"$rootDir/test"
)
$packageSources | dir -r -include "packages.config" | % {
$configPath = $_.FullName
$configName = $configPath.Replace($rootDir.ToString() + "\", "")
write-host "Installing packages for " -n
write-host "$configName" -f "white"
nuget install "$configPath" -solutionDir "$rootDir"
}
}
Export-ModuleMember Restore-Packages
這個偉大的工程...但可以隨機不行 ! 有時,所有的包都正確加載,其他時候隨機 package.config
文件崩潰Nuget!
沒有錯誤消息打印到控制台(即使-verbosity detailed
上有-verbosity detailed
開關)。 但是,我確實發現EventLog收到錯誤消息:
Log Name: Application
Source: Application Error
Date: 11/21/2012 9:21:42 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Description:
Faulting application name: NuGet.exe, version: 2.1.31022.9038, time stamp: 0x50856393
Faulting module name: clr.dll, version: 4.0.30319.239, time stamp: 0x4e181a6d
Exception code: 0xc0000005
Fault offset: 0x0035612d
Faulting process id: 0x408
Faulting application start time: 0x01cdc7eb24bed690
Faulting application path: D:\path\to\app\.nuget\NuGet.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Report Id: 63343f50-33de-11e2-b0e1-005056c00008
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2012-11-21T13:21:42.000000000Z" />
<EventRecordID>77009</EventRecordID>
<Channel>Application</Channel>
<Security />
</System>
<EventData>
<Data>NuGet.exe</Data>
<Data>2.1.31022.9038</Data>
<Data>50856393</Data>
<Data>clr.dll</Data>
<Data>4.0.30319.239</Data>
<Data>4e181a6d</Data>
<Data>c0000005</Data>
<Data>0035612d</Data>
<Data>408</Data>
<Data>01cdc7eb24bed690</Data>
<Data>D:\path\to\app\.nuget\NuGet.exe</Data>
<Data>C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll</Data>
<Data>63343f50-33de-11e2-b0e1-005056c00008</Data>
</EventData>
</Event>
因為這會無聲地失敗,其他package.config
可能會或可能不會在一個崩潰后運行(它也可能崩潰!)。
我已經多次重新啟動計算機並清除了Nuget緩存,但無濟於事。 這是我的機器的問題嗎? 是Nuget嗎?
謝謝!
我嘗試運行你的腳本,它對我來說很好。 我可能嘗試的一件事是從http://nuget.org/nuget.exe中重新下載nuget.exe
我會嘗試的另一件事是,如果直接從命令行運行nuget.exe崩潰?
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.