2014-01-22 4 views
1

dotfuscator 4.12를 사용하여 응용 프로그램에서 exe와 dll을 암호화합니다!dotfuscator를 사용한 후에 WPF에서 예외가 발생 했습니까?

는하지만, 암호화 한 후, 내 응용 프로그램을 실행하고이

Set connectionId threw an exception./n Stack Trace = at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri) 

at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri) 

at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream) 

at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator) 

at DVRServerInterface.MainWindow.InitializeComponent() 

at DVRServerInterface.MainWindow..ctor() 

내 응용 프로그램에서 WPF를 사용하는 후속 호출 스택으로 추락했다, 그것은 13 개 프로젝트 C를 포함 ++와 C# 프로젝트, 그들 모두 사용하고 있습니다. 닷넷 프레임 워크 4.0. 그리고 dotfuscator를 사용할 때 모든 암호화 옵션을 확인했습니다.

누군가 나를 고칠 수 있습니까?

많은 감사,

T & T

답변

0

나는 그것이 Dotfuscator에 의한 것 의심한다.

모든 종속성 참조가 올바른 위치에 있는지 확인하십시오. 일반적으로 "set connectionId exception to throw exception"예외가 발생하면 InnerException이 발생하여 누락 된 참조를 알려줍니다. 당신이 예외를 잡을 때

의의 InnerException의 세부 사항을 로그 :

try 
{ 
} 
catch(Exception ex) 
{ 
    //ex.InnerException.Message and other exception details are accessible here, so just log them somewhere to see what's going on, but it can be null too so check for that first 
} 
+0

고마워요! 하지만 InnerException을 잡는 방법은 무엇입니까? – TTGroup

+1

정상적인 예외 (InnerException이라 부름)에 대한 속성입니다. – Fayilt

+1

InnerException 세부 정보를 얻는 방법을 보여주기 위해 제 대답을 수정했습니다. – Fayilt

0

음, 꽤 흔한 응용 프로그램이 난독 후 제대로 작동 중지 것이다.

obfuscator를 사용하는 경우 가능한 한 많은 코드를 혼란스럽게하고 싶지만 때때로 불행한 것을 위해 obfuscator의 일부 옵션을 비활성화해야합니다. 이러한 문제에 직면했을 때 밖으로 팀 일반적으로

, 우리는 그것을 실행하고 예외를 잡으려고 다음

우리는 난독 도구에서 확인란의 절반을 해제))) 문제를 발견하고 이진 검색을 사용하여 프로그램의 같은 단계에서. 이 프로세스는 어떤 모듈에서 효과를 발생시키는 옵션을 이해할 때까지 계속됩니다. 대부분의 경우 이러한 동작의 원인은 가지 치기 또는 혼란 스럽습니다.