2013-12-03 1 views
3

У меня есть неприятная проблема, так как я перешел на новую машину разработки (Win 7, VS 2013), функция редактирования и продолжения в приложении WPF (.net 4.0) больше не работает. Если я пытаюсь отредактировать некоторый файл кода во время отладки, я всегда получаю сообщениеКакова цель GeneratedInternalTypeHelper.g.i.cs?

Были сделаны изменения, которые невозможно скомпилировать. Выполнение не может продолжаться до тех пор, пока ошибки компиляции не будут исправлены.

, но в «списке ошибок» ошибка не указана.

Чтобы усугубить ситуацию (говоря только о том, чтобы найти причину этой проблемы), в некоторых проектах он работает нормально. Это также не каждый WPF приложение, которое затронуло этот вопрос ...

После огромного количества исследований и проб и ошибок я обнаружил, что, когда я заменяю GeneratedInternalTypeHelper.g.i.cs в каталоге OBJ с пустым, все, кажется, работать просто отлично. Но я не совсем уверен, если это такая прекрасная идея вмешиваться в эти файлы.

Есть ли у кого-нибудь подозрение, что делает GeneratedInternalTypeHelper.g.i.cs и для чего он используется? Или любые идеи о том, почему редактирование и продолжение не работают должным образом?

+0

Это код, который генерируется автоматически с вашего XAML. Да, никогда не связывайся с этим. Если бы это сработало, это было бы плохо, если бы код не соответствовал вашим объявлениям. Вы не описали свой сценарий хорошо, но E + C просто не работает во всех возможных случаях. И это, безусловно, не может изменить ваш xaml на лету. –

+0

Это сгенерировано, это правда, но я не вижу, что он основан на моем XAML, поскольку у них всегда один и тот же контент ... Я знаю об ограничении, которое я не могу редактировать файлы XAML. Любое предложение, как я мог лучше описать свой сценарий? Что я забыл? – iber

ответ

2

Как указано выше, эти файлы автоматически генерируются. Когда проблема возникает в автоматически сгенерированном файле, это потому, что что-то запутало компилятор.

У меня возникли ситуации, когда один из файлов * .g.i.cs является источником ошибки компиляции. В моем случае проблема связана с файлами * .gics, ссылающимися на библиотеку, которая больше не была правильной (например, после обновления до новой версии библиотеки, даже если ссылки на проект верны и «использовать конкретную версию», флаг true). В моем случае единственный способ решить эту проблему - удалить ссылку на старую сборку, попытаться перекомпилировать решение (он не будет создан, но это поможет компилятору понять, что ему нужно пересмотреть ссылку на сборку), затем повторно добавить правильную ссылку на проект и перекомпилировать решение. Там может быть лучший способ сделать это (ни запуск «чистого решения», ни ручная очистка содержимого папок сборки не сработали для меня).

Вы упомянули, что у вас есть эта проблема с некоторыми из ваших проектов. Попытайтесь выяснить, что у сломанных (или, альтернативно, работающих) есть общее. Если вы столкнулись с той же проблемой, что и я, то я подозреваю, что у вас есть ссылки на одну или несколько библиотек, которые были изменены, и компилятор не изменил свой взгляд на пейзаж, чтобы правильно объяснить изменение.