2014-02-14 2 views
1

다른 컴퓨터에서 C# 프로그램을 실행하려고하는데 프로그램을 실행하는 데 문제가 발생하여 모든 것을 Try 문 내부의 "window.initialized"이벤트."파일을로드 할 수 없거나 어셈블 할 수 없습니다." "지정한 파일을 찾을 수 없습니다"예외

다른 컴퓨터에서이 프로그램을 실행하면 "System.Data.SQLite.dll"을 찾을 수 없습니다. 즉, 실행중인 .exe가있는 디버거에 바로 앉아 있어도 예외가 발생합니다. 또한 있습니다. 이것은 매우 이상하게 느껴지고 어떻게 해결해야할지 모르겠습니다.

누구나 아이디어가 있습니까?

+1

폴더의 버전이 응용 프로그램이 컴파일되는 버전과 같습니까? – ChrisBint

+0

디버그 폴더? 다른 컴퓨터의 Visual Studio에서 실행 중입니까? –

+0

@ChrisBint 네, 같은 버전입니다. – Tokfrans

답변

1

는 여기에 내가이 문제를 일으키는 것으로 알고 3 점은 다음과 같습니다

A) 귀하의 의견에 말했듯이, 프로그램 디렉토리에있는 파일보다 다른 버전으로 어셈블리 참조를 가리 킵니다.

b) 응용 프로그램이 어셈블리와 다른 플랫폼 (즉 x86 대 x64)을 대상으로합니다. 확신 할 수는 없지만 하나의 어셈블리가 '모든 CPU'및 특정 플랫폼 (x86 또는 x64)에 대해 빌드 될 때 응용 프로그램이 하나의 시스템에서만 작동하고 다른 시스템에서는 작동하지 않을 수 있습니다.

c) 참조 된 어셈블리는 응용 프로그램 자체와 다른 .NET Framework 버전을 대상으로하며 개발 컴퓨터에서 사용할 수 있지만 다른 컴퓨터에서는 사용할 수 없습니다. 이로 인해 어셈블리 바인딩 예외가 발생합니다. 더있다

Runtime Version

인지 확실하지 않은,하지만 난 그게 도움이되기를 바랍니다 : 문제의 어셈블리를 선택한 후 속성 창에서보기를 확인합니다.

+0

내 컴퓨터와 내가 x64를 실행하고있는 프로그램을 테스트하고있는 컴퓨터 둘 다 그렇습니다. 하지만 어셈블리를 사용하는 NET 버전을 설치하고 결과를 다시 얻으려고합니다. – Tokfrans

관련 문제