Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Я - коллега Mike's, и мы разработали решение.
тип X определяется в его блоке, который находится только в GAC. Даже при том, что его веб-приложение ASP.NET действительно имело ссылку, ему не удавалось загрузиться от GAC только для этого UserControl. Остальная часть приложения работала как ожидалось. Мы подтвердили неудавшуюся загрузку путем размещения копии блока в каталоге bin, и все работало. Мы удалили блок, и проблема возвратилась.
Наше решение состояло в том, чтобы вручную добавить запись в web.config в разделе блоков для указания на ASP.NET на GAC.
Это похоже на любое время, Вы ссылаетесь на тип на странице (не код - позади), Вам нужна информация о блоке, определенная в web.config файле или в директиве страницы.
<assemblies>
<add assembly="MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=[MyPublicKeyToken]"/>
</assemblies>
Существует также ошибка, которая может проявиться с подобными признаками, описал здесь .
обходное решение должно удалить все в каталоге C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\, и это только, кажется, проявляется в режиме отладки.
При поиске и устранении неисправностей этих типов проблем Средство просмотра журнала Fusion всегда было большой справкой.
Чаще всего это происходит из-за кэшированных сборок. Одним из способов решения этой проблемы является создание «сильной ссылки» в файле proj или config. См. Этот блог пост
Для меня это была проблема с контролем версий.
В Visual studio откройте «Ссылки» в обозревателе решений и пролистайте его.
Если на чем-то есть желтый предупреждающий треугольник, запомните имя, удалите его и добавьте обратно (или ReSharper сделает это за вас).
Несколько раз случалось со мной после создания проекта, когда сотрудник добавил новый пакет и ссылки.