У меня есть решение VB.NET, которое я только что обновил.Первоначально он был в .NET 1.1, я обновил его до .NET 2.0 и убедился, что он будет работать и работать правильно.Затем я обновился с 2.0 до 4.0.Он все еще строится без ошибок, но при попытке запустить я получаю NullReferenceException
в Global.asax.vb
.Действительно странная вещь: строка, которая выдает исключение, такова:
Dim dt As System.Data.DataTable
Я не пытаюсь использовать переменную, просто объявляю ее.Далее вызывается Function
, который возвращает DataTable
и устанавливает переменную, но я даже не дохожу до этой строки.Он выбрасывает NullReferenceException
на линии Dim
.Кто-нибудь сталкивался с этим раньше?Это какая-то проблема с обновлением?
Редактировать
Хорошо, это первая строка в функции.Окружающий код выглядит следующим образом.
Private Function GetUserRoles() As String
Dim dt As System.Data.DataTable
Dim oDBLookup As New DBLookups
Я обновил его до этого, что не должно иметь никакого значения.
Private Function GetUserRoles() As String
Dim oDBLookup As New DBLookups
Dim dt As System.Data.DataTable
Теперь исключение NullReferenceException происходит в новой первой строке вfunction.
Dim oDBLookup As New DBLookups
Функция GetUserRoles () - это первая строка в Application_AuthenticateRequest, которая не является оператором Dim или If.
Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
' Fires upon attempting to authenticate the user
Dim authCookie As HttpCookie = Context.Request.Cookies("GROUPCOOKIES")
Dim Groups As String
Dim noGroups As Boolean = False
If authCookie Is Nothing Then
Groups = GetUserRoles()
Я выполнил Rebuild Solution перед публикацией.Это веб-приложение, и единственные файлы, которые я вижу в папке bin, это dll-файлы, на которые я ссылаюсь.Я не уверен, что еще я должен убрать.