У меня есть веб-приложение .NET 3.5, в которое я недавно добавил некоторые функции Linq to Sql - файл dbml и т. Д. Локально он работает нормально.
Однако, когда я пытаюсь развернуть его,Я получаю исключение нулевой ссылки, по-видимому, когда он пытается вызвать конструктор для объекта контекста.
Чтобы добавить сложности, я использую проект веб-развертывания, который собирает его в одну DLL.Я предполагал, что материал Linq to Sql будет скомпилирован вместе со всем остальным.Тем не менее, теперь я думаю, что мне нужно переместить файл dbml вместе с DLL.
У меня был файл dbml в каталоге App_Code, поэтому я попытался воссоздать эту структуру каталогов на удаленном сервере.Но .NET не позволит мне иметь каталог App_Code в предварительно скомпилированном приложении.Поэтому я просто переместил файл dbml в корневой каталог - но все равно получаю ошибку.
Help!
Вот трассировка стека для получаемой ошибки:
[NullReferenceException: ссылка на объект не установлена для экземпляра объекта.] CodeCS.SarcStateDataDataContext..ctor () +28 DB_Interface.SarcStateDataDB..ctor () +26 eSARC_Basic..ctor () +56 ASP.esarc_basic_aspx ..ctor () +14 __ASP.FastObjectFactory_sarcwriting.Create_ASP_esarc_basic_aspx () +20 System.Web.Compilation.BuildResultCompiledType.CreateInstance () +32 системный.noAssert) +119 System.Web.VirtualPath virtualPath,String PhysicalPath) +40 System.Web.HttpApplication.MapHttpHandler (контекст HttpContext, String requestType, путь VirtualPath, String pathTranslated, логическое значение useAppConfig) +160 System.Web.MapHandlerExecutionStep.System.Web.HttpAecution (.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логический и завершенный синхронно) + 155
DB_Interface.SarcStateDataDB - это класс, который я написал и который вызывает конструктор для объекта контекста:
codeCS.SarcSteData = DataSarcStateDataDataContext ();
Я не отправляю ему строку подключения или объект подключения, поскольку как локальная, так и развернутая версии программы используют одну и ту же удаленную базу данных.Но может ли это быть проблемой?Локальное приложение имеет доступ к строке подключения в файле dbml, но развернутое приложение не ... ??
ОБНОВЛЕНИЕ: я посмотрел код в Reflector, и он получает строку подключения изweb.config, и в этом вопросе все выглядит в общих чертах ...