2009-08-07 2 views
0

저는 C#/닷넷 개발자가 아니지만 우리가 가지고있는 문제를 해결하도록 요청 받았습니다. 우리는 C#의 작은 명령 행 응용 프로그램을 가지고 있으며 최근에 문제가 발생했습니다. 내 컴퓨터에서 빌드하고 실행할 수 있지만 일부 서버에서 실행하려고하면 실패합니다. 서비스 팩 2가 설치된 .Net 2.0이 설치되지 않은 것 같습니다. 이 서비스 팩이 없습니다..Net 2.0 서비스 팩 2를 사용하는 다른 컴퓨터에서 C# 응용 프로그램을로드하는 데 문제가 있습니다.

처리되지 않은 예외 : System.IO.FileNotFoundException : 여기

우리가 볼 수있는 오류의 파일이나 어셈블리를로드 할 수 없습니다 ', 버전 = 2.0.0.0 시스템, 문화 = 중립, PublicKeyToken = b77a5c561934e089'또는 하나의 그것의 의존성. 지정한 파일을 찾을 수 없습니다. 파일 이름 : 'System, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'

시스템 참조는 특정 버전 : False로 설정되어 있습니다.

답변

2

응용 프로그램을 설치 패키지화 했습니까? 일반적으로 설치 프로젝트를 사용하면 필요한 모든 종속성이 설치되어 있는지 확인할 수 있습니다.

+0

시스템 어셈블리에 대해 false로 설정된 참조에 로컬 복사 옵션이 있습니다. 나는 그것을 사실로 설정하면 효과가 있고 그것이 얼마나 부 풀릴 지 궁금합니다. –

+0

System.Data.dll, System.dll, System.Xml.dll 및 System.config.dll을 복사하면 작동하는 것 같습니다. 그러나 이것은 최고로 좋지 않은 해킹 인 것 같습니다. –

2

시스템 별칭이 전역, 로컬 복사가 False, 특정 버전이 False로 설정되어 있는지 확인하십시오.

+0

그래, 그게 어떻게 설정되었는지. –

+0

.NET 설치가 대상 시스템에서 잘못되었을 수 있습니까? – Ray

1

대상 시스템에 대한 액세스 권한이 있습니까? 그 이유는 잘못된 설치로 인해 발생할 수 있기 때문입니다. 을 기억하면 WindowsXP의 추가/제거 & Vista에서 .NET Framework를 완전히 제거하지 않고 '복구'할 수 있습니다.

0

첫째, 애플리케이션에 대한 설정이 있습니까 (예 : yourappname.exe.config라는 파일은 yourappname이 분명히 애플리케이션 이름 임). 거기에 특정 프레임 워크 버전을 사용하도록 강요하는 것이 있습니다. 앱의 설정에 버전뿐만 아니라 최종 사용자 버전을 추가 할 수 있도록

그렇지 않으면, 한 (같은)

<?xml version ="1.0"?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v2.0.50727"/> 
    </startup> 
</configuration> 

당신은 필요한만큼 supportRunTime 라인을 가질 수를 만들 수 있습니다.

관련 문제