C #, при запуске скомпилированного приложения на других системах ..., ошибка подписи ScintillaNET? - PullRequest
1 голос
/ 20 июля 2011

У меня возникают проблемы при распространении разработанного мною программного обеспечения, скомпилированный .exe прекрасно работает в моей системе, но при разборе на другие выдает ошибку ниже, как в 32-битной, так и в 64-битной системах.

Я перепробовал много опций компиляции, включая запутывание, сборку для любого процессора, сборку для 64-битных и 32-х, я также пытался, сборку на других системах, все .dll поставляются в пакете, я даже устал объединять .dll Я мог без нарушения лицензионных соглашений и т. Д.

Даже зарегистрировал все .dll в другой системе.

Есть идеи? Я немного погуглил, но в крайнем случае мне пришлось спросить здесь: зная, что мне повезет, это будет что-то очевидное, ошибка заставляет меня поверить, что dll не существует, но они есть ...

Вот ошибка ниже:

Problem signature:

Problem Event Name: CLR20r3 
Problem Signature 01: testtool.exe
Problem Signature 02: 1.0.0.0 
Problem Signature 03: 4e1ec8bf Problem
Signature 04: ScintillaNet 
Problem Signature 05: 2.2.3581.19319
Problem Signature 06: 4adf566e 
Problem Signature 07: 66e Problem
Signature 08: 5c 
Problem Signature 09: System.IO.FileNotFoundException
OS Version: 6.1.7600.2.0.0.272.7
Locale ID: 1033 
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

... Отлично работает в системе, на которой я его компилирую.

Вышесказанное заставляет меня думать, что dll не существует ... но они есть.

Спасибо, Скотт

1 Ответ

6 голосов
/ 21 июля 2011

Если у вас есть приложение .NET, которое не работает по какой-либо причине в другой системе, и в отчете об ошибке указывается на то, что выдается исключение (например, System.IO.FileNotFoundException), вы должны добавить обработчик для необработанных исключений (AppDomain.CurrentDomain.UnhandledException), а затем просто выведите все исключение (e.ExceptionObject.ToString()) с окном сообщения.Трассировка стека должна дать более глубокое представление о том, что происходит (вы также можете использовать другие свойства Exception).Отладочная сборка с файлами PDB дополнительно предоставит номера строк.

См. http://www.csharp -examples.net / catching-unhandled-exceptions /

Важно добавить этообработчик событий при запуске вашего приложения до того, как исключение может произойти.Использование таких инструментов, как Windbg, для управляемых исключений обычно излишне.

...