У меня есть проект веб-приложений, который я публикую через Visual Studio 2010 на моем сервере. Моя проблема в том, что это может занять очень много времени, прежде чем он сможет ее опубликовать. Может быть, 10 минут ! Это не происходит каждый раз, но очень часто.
Вот резюме того, что у меня есть в консоли Output → Build, когда я пытаюсь опубликовать:
- Проект компилируется - ОК
- Подключение к C:\Users {user}\Desktop\MyProjectTest... (это может занять до 10 минут)
- Файлы публикуются...
Проводник процессов
Когда я открываю ProcessExplorer, я вижу, что devenv.exe
берет весь процессор. Когда я открываю этот процесс, я вижу, что задача, которая потребляет весь процессор, - clr.dll!StrongNameSignatureVerification+0x11ee1
. Как только эта задача закончится, через 10 минут задача публикации завершится быстро.
Монитор процессов
С Process Monitor я отслеживал TID clr.dll! StrongNAmeSignatureVerification, и у меня есть много нереданных событий. В течение более 5 минут задача пытается получить доступ к файлу, который у меня нет на моем компьютере. Он ищет файл Microsoft.Build.Task.resources.dll
. Это похоже на то, что задача публикации повторялась снова и снова, и снова что-то, что не существует. Для вашей информации я использую Windows 7 French с Visual Studio 2010 на английском языке. На скриншоте вы видите 10 событий более чем 2000 событий одного и того же!
Дополнительная информация о моей настройке
Вот некоторая информация, которая может помочь выявить проблему:
- Мое приложение построено с помощью MVC3
- У меня есть несколько сторонних DLL. Некоторые из них подписаны.
- Я публикую метод File System.
- Я попытался опубликовать на своем локальном компьютере, и проблема также в том, что это не проблема сети между моим компьютером и моим сервером.
- Я тестировал на французском языке Windows 7 x86 и x64
- Моя Visual Studio 2010 SP1 является английским изданием
ОБНОВЛЕНИЕ 2011-09-23
Теперь я знаю, как решить проблему, но я не знаю, что ее вызывает. Если я удалю файл **. Suo (на том же уровне, что и файл.sln), и я снова открою Visual Studio, публикация будет очень быстрой. Поэтому повторная инициализация файла.suo, похоже, решает проблему каждый раз, когда публикация становится медленной.
Чтобы сделать еще один тест, я сделал резервную копию файла.suo, когда публикация была медленной и удалила ее. Теперь публикация идет быстро. Если я скопирую файл.suo обратно в его положение и снова открою Visual Studio, публикация будет медленной снова. Таким образом, все, кажется, указывает на этот файл.
Любая идея по этому поводу?