Ошибка 1150 genasm.exe (1): ошибка Произошла ошибка при завершении типа. Метод «DoParse» - PullRequest
2 голосов
/ 22 сентября 2008

oOo очень интересная проблема сборки. Компактный каркас изредка получается смешным при сборке. Обычно, когда возятся с файлами xmta, но я впервые вижу, что в этом сценарии все идет не так.

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

Ошибка 1150 genasm.exe (1): ошибка там была ошибка при завершении типа. метод DoParse в типе 'MyComanyName.PlatformName.ProductName.Configuration.ConfigurationParser' из сборки «UICore.WindowsCE.asmmeta, Version = 1.0.3187.17348, Культура = нейтральная, PublicKeyToken = null ' не имеет реализация. UICore

И да, я реализовал этот метод в этом классе. Я также попытался полностью очистить и восстановить и закрыть и перезапустить VS.

Из интереса, у меня также есть предупреждение: «Объект не установлен как экземпляр объекта», что немного необычно.

Обновление: Если я сделаю метод виртуальным, а не абстрактным, проблема исчезнет.

Обновление:

  • CF 2.0 SP1
  • Visual Studio 2005 с пакетом обновления 1
  • Метод не является общим
  • Однако я даю объект с универсальным методом для конструктора этого объекта.

Ответы [ 3 ]

2 голосов
/ 22 сентября 2008

Проблема с genasm в Visual Studio 2005/2008 заключается в том, что он должен создавать экземпляры типов для генерации файлов asmmeta, поэтому, к сожалению, у вас не может быть открытых абстрактных типов.

Проверьте этот поток MSDN с похожей проблемой (с обобщениями). Обсуждаются также некоторые обходные пути.

1 голос
/ 20 октября 2008

Не уверен, будет ли это связано, но если вы включите файл DesignTimeAttributes.xmta, вы получите похожую проблему.

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

Вы можете решить эту проблему, исключив файл из проекта.

0 голосов
/ 30 сентября 2012

Если я сделаю метод виртуальным, а не абстрактным, проблема исчезнет.

...