Сбои VS10 при выполнении «сборки» или «перестройки» проекта C ++ - PullRequest
2 голосов
/ 01 декабря 2010

Сначала я опубликовал это на программистах , но мне сказали, что оно принадлежит здесь. Забавно, я так не думал.

У меня установлен VS10 на Windows Server 2008 R2 box, а также несколько других версий VS, выпущенных несколько лет назад. Это наша производственная сборочная машина.

Когда я загружаю или создаю какой-либо проект C ++ и выполняю Rebuild или Clean, среда IDE падает. В деталях аварии я вижу это:

alt text

Я видел другие сообщения о том, что похоже на ту же ошибку в Интернете ( пример ). Кроме совета открыть билет, я не видел решения.

Кто-нибудь еще сталкивался и исправлял эту проблему? Я открыл тикет с MS, но я также покрываю свои базы, публикуя здесь.

EDIT:

Я запустил файл журнала, как предложено в комментариях. Это единственные записи, которые произошли после того, как я загрузил VS, так что это включает сборку и сбой:

  <entry>
    <record>229</record>
    <time>2010/12/01 19:35:39.804</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
    <guid>{68939055-38E0-4D17-92CB-8909710D8178}</guid>
  </entry>
  <entry>
    <record>230</record>
    <time>2010/12/01 19:35:39.836</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [Windows Forms Designer Hosting Package]</description>
    <guid>{68939055-38E0-4D17-92CB-8909710D8178}</guid>
  </entry>
  <entry>
    <record>231</record>
    <time>2010/12/01 19:35:39.882</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>End package load [Windows Forms Designer Hosting Package]</description>
    <guid>{68939055-38E0-4D17-92CB-8909710D8178}</guid>
  </entry>

Ответы [ 3 ]

3 голосов
/ 01 декабря 2010

Как насчет прямой связи с MS? Если это блокирует вашу работу, вы можете подтолкнуть их к ее исправлению (хотя не знаете о затратах, вероятно, это будет зависеть от продукта и особенностей вашей лицензии ...).

В качестве альтернативы вы можете построить решение в командной строке: откройте командную строку VS 2010 (ярлык находится где-то в меню «Пуск»):

msbuild yoursolution.sln /p:Configuration=Debug

Это не должно использовать devenv.exe (что здесь происходит с ошибкой) и вызывать инструменты напрямую.

2 голосов
/ 01 декабря 2010

Ковш P8 имеет странное значение, по крайней мере, по сравнению с моей машиной.Проверьте этот пост на способ обратного инжиниринга метода сбоя.Аварийная сборка хранится в каталоге C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ Microsoft.VisualStudio.Shell.10.0 \ v4.0_10.0.0.0__b03f5f7f11d50a3a на моем компьютере.

Область P7 (обратите внимание, что ваш не соответствует связанному) указывает на ServiceProvider.GetService ().Сегмент P8 дает смещение IL 0x4b, но я вижу конец метода в 0x41.Тем не менее, я еще не выяснил, насколько точной это может быть на самом деле, когда JIT-скомпилированный код оптимизируется.

Если это где-то точно, то у вас не так много за лидерство.Метод GetService () безнадежно универсален.Хотя, конечно, похоже, что он придумал плохого, который не пережил бросок.Это то, что надстройки могут испортить.

Кстати, это не влияет на вывод сборки, MSBuild.exe запускается как отдельный процесс.

0 голосов
/ 13 июля 2012

Для тех, у кого все еще есть эта проблема, мой исправленный ответ состоял в том, что я пытался полностью стереть Internet Explorer со своего компьютера, что привело к ошибке вызова DLL, которая привела к сбою devenv.

Вот их официальная страница решения: http://support.microsoft.com/kb/983279

Мой вопрос к Майкрософт ... Почему зависимость от Internet Explorer для компиляции приложений имеет смысл даже при любых обстоятельствах?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...