Ошибка 1150 genasm.exe (1) :ошибка Произошла ошибка завершения типа .Метод "DoParse"

StackOverflow https://stackoverflow.com/questions/114031

  •  02-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

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

Обновить:

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

Решение 3

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

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top