Відповіді:
Команда Powershell має виправлення цього питання у своєму блозі .
Вміст сценарію з вказаного сайту Update-gac.ps1
Set-Alias ngen (Join-Path ([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()) ngen.exe)
[AppDomain]::CurrentDomain.GetAssemblies() |
sort {Split-path $_.location -leaf} |
%{
$Name = (Split-Path $_.location -leaf)
if ([System.Runtime.InteropServices.RuntimeEnvironment]::FromGlobalAccessCache($_))
{
Write-Host "Already GACed: $Name"
}else
{
Write-Host -ForegroundColor Yellow "NGENing : $Name"
ngen $_.location | %{"`t$_"}
}
}
У вас нестабільне / відсутнє підключення до Інтернету?
Може залежати від безпеки Windows, яка намагається зв’язатись із органом сертифікації, щоб отримати список відкликання сертифікатів. Якщо підключення до Інтернету відсутнє, вам доведеться почекати тайм-ауту.
Редагувати:
Ви можете спробувати налагодити це за допомогою Провідника процесів Sysinternal (/ Microsoft). Можливо, ви можете побачити, до яких ресурсів отримує доступ процес.
Скільки часу потрібно, щоб негайно запустити інший екземпляр?
Якщо набагато швидше, то ви бачите час, необхідний для завантаження .NET, PSH та Snapins. Якщо ні, то, ймовірно, це пов’язано з профілем (або PSH-профіль, або щось на зразок зв’язку з AD 1 ).
1 Я бачу це з рекламним постачальником PSCX, коли працюю віддалено.