Как интерпретировать сообщения об ошибках после установки
Привет,
Я написал приложение на языке C# с базой данных SQL server compact 3.5 в качестве внутреннего движка. Я успешно развернул это приложение на виртуальной машине x64 Windows 7, работающей на моей машине разработки. Однако, когда я беру эту установку на другой компьютер и устанавливаю ее, она устанавливается хорошо, когда я запускаю ее, однако она возвращает мне сообщение об ошибке из Windows.
Я запустил fuslogvw на целевой машине, и журнал, похоже, не говорит ни о каких ошибках. Может быть, я ошибаюсь, но мне нужно руководство.
Что я уже пробовал:
От FUSLOGVW:
*** Assembly Binder Log Entry (12/5/2017 @ 9:45:19 PM) *** The operation was successful. Bind result: hr = 0x0. The operation completed successfully. Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll Running under executable C:\Program Files\FUBUH GROUP\SHOPPER\THESHOP.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = ZEWEN-PC\ZEWEN LOG: DisplayName = System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 (Fully-specified) LOG: Appbase = file:///C:/Program Files/FUBUH GROUP/SHOPPER/ LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = NULL LOG: AppName = THESHOP.exe Calling assembly : System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91. === LOG: This bind starts in default load context. LOG: Using application configuration file: C:\Program Files\FUBUH GROUP\SHOPPER\THESHOP.exe.Config LOG: Using host configuration file: LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. LOG: Version redirect found in framework config: 2.0.0.0 redirected to 4.0.0.0. LOG: Post-policy reference: System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 LOG: Binding succeeds. Returns assembly from C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll. LOG: Assembly is loaded in default load context.
Из Отчетов Об Ошибках Windows:
Problem Event Name: CLR20r3 Problem Signature 01: theshop.exe Problem Signature 02: 1.0.0.0 Problem Signature 03: 5a270356 Problem Signature 04: System.Data.SqlServerCe Problem Signature 05: 3.5.8080.0 Problem Signature 06: 4b743b2d Problem Signature 07: 15c Problem Signature 08: 12 Problem Signature 09: System.Data.SqlServerCe.SqlCe OS Version: 6.1.7601.2.1.0.256.1 Locale ID: 1033 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Dave Kreskowiak
Журнал слияния говорит только о том, что ваше приложение было успешно запущено с использованием .NET CLR версии 4 вместо версии .NET 2-3.5, с которой был скомпилирован ваш код.
Отчеты об ошибках Windows говорят о том, что у вас есть проблема с вашим кодом, вызывающим SqlServer CE. Установлен ли вообще SQL Server CE на этой машине? Есть ли на машине все установленные pre-req для работы SQL Server CE?
Вы развернули файл базы данных вместе с вашим приложением и поместили его в соответствующую папку (не в разделе PROGRAM FILES!)?
Еще одна быстрая возможность получить дополнительную информацию - установить отладочную версию вашего приложения и попробовать запустить ее.
Zen'o_179
Привет Дэйв,
последовал совету, описанному Microsoft здесь https://msdn.microsoft.com/en-us/library/aa983326.aspx и пошел на частный метод развертывания на основе файлов.
Я уже пробовал это на других приложениях, которые я написал как единое решение с одним проектом. Однако этот случай является решением с двумя проектами