Удаление бета-версии VS.NET 2010 ломает .NET?

Я использую бета-версию VS.NET 2010 уже пару месяцев вместе с VS.NET 2005. Еще вчера днем ​​я использовал 2005 для работы.

Прошлой ночью я удалил VS.NET 2010, и теперь ни одно из моих приложений, связанных с .NET, не работает (VS.NET 2005, SQL Server Management Studio и т. д.). Установка этих продуктов также не будет работать, равно как и установка 2.0 SDK или 2.0 Framework.

Все они терпят неудачу с этой ошибкой:

(Msgbox title) ngen.exe - Unable to Locate Component
This application has failed to start because MSVCR100.dll was not found.  Re-installing the application may fix the problem.

Что, конечно, не так, так как это установка.

Любые идеи? В гугле похоже ничего нет.


person mtutty    schedule 06.08.2009    source источник


Ответы (3)


Проблема решена. Ответ... удалите .NET Framework 4.0. Удаление VS.NET не берет это с собой и, по-видимому, удаляет зависимость времени выполнения VC.

person mtutty    schedule 06.08.2009
comment
Ура, Мутти. Примечание для всех, кто находится в этой ситуации: у меня было около 50 сбоев ngen.exe во время удаления каждого из компонентов .net 4, но после их игнорирования он завершился нормально, и теперь все работает нормально. - person Jason Williams; 11.09.2009

Во-первых: никогда не устанавливайте бета-версию на рабочую машину. Вместо этого используйте виртуальный ПК. Урок выучен.

Во-вторых: основываясь на упомянутой dll, MSVCR100.dll, я бы сказал, что вы скомпилировали ее для .NET 4.0. Перекомпилируйте свои программы для .NET 2.0, и все должно быть хорошо.

person Randolpho    schedule 06.08.2009

Рандольфо попал в самую точку. Никогда не устанавливайте бета-инструмент разработки на рабочую машину. Всегда используйте виртуальную машину или отдельный ящик.

Судя по всему, .NET зарегистрировал новые DLL для версий 2.0, 3.0, 3.5 и 4.0. Вам может понадобиться взлом реестра, чтобы перенаправить фреймворк в правильное место... проверка и отчет.

ОБНОВЛЕНИЕ

Проверьте остальные версии .NET в других папках по адресу

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/.NETFramework/{version}/NGETService/Roots

и убедитесь, что нет затяжной ссылки на dll 4.0.

person Justin Niessner    schedule 06.08.2009
comment
Не уверен, что вы понимаете под производством, но я могу в любой момент отказаться от своего ПК для разработки и через пару часов запустить другой. В моем случае виртуальная машина не стоит снижения производительности. Фактический ответ... удалите .NET Framework 4.0. Удаление VS.NET не берет это с собой и, по-видимому, удаляет зависимость времени выполнения VC. - person mtutty; 06.08.2009