2014-05-16 2 views
0

내가 때문에 여기에 선언 된 파일 경로의 오류를 얻을 : 나는 실제 경로를 선언 할 때C#에서 시스템 인수 예외 오류를 해결하는 방법?

private UIImageRes onClickImage = new UIImageRes(@"..\..\Resources\check_active.png",new Rectangle()); 

그러나, 그것은

private UIImageRes onClickImage = new UIImageRes(@"C:\Desktop\File\Resources\check_active.png",new Rectangle()); 

지금 즉, 작동이 코드는 별도의 프로젝트입니다 새 프로젝트에 추가하고 있습니다. 정확한 파일 경로를 지정하는 것이 좋습니다. 필자는 여러 소스 코드에서 모든 파일 경로를 변경해야합니다. 또한 다른 폴더로 복사하면 프로젝트가 작동하지 않습니다. 이것에 대해 어떻게해야합니까?

는 편집 :

전 C# 완전히 새로운 오전, 일부 대학 C의 경험 ++와 자바를

답변

0

해결 방법 1 : 당신이 원하는 경우

고정 경로가 모두 사용되는 프로젝트의 경우 INI 파일을 사용하여 경로를 저장할 수 있습니다. 이렇게하면 나중에 소스 코드를 변경하지 않고도 경로를 변경할 수 있습니다.

해결 방법 2 :

사용 Application.StartupPath는 경로를 구축합니다. 예를 들어

:

string sRelativePath = System.IO.Path.Combine(Application.StartupPath, @"Resources\check_active.png"); 
private UIImageRes onClickImage = new UIImageRes(sRelativePath,new Rectangle()); 

Application.StartupPath는 실행 파일 이름을 포함하지 않는 응용 프로그램을 시작, 실행 파일의 경로를 제공합니다.

UPDATE :

이의이 Project1.exe를 가정하자 현재 위치 :

C:\Desktop\File\Project1.exe 

Application.StartupPath 반환 :

C:\Desktop\File 

사용이 :

string sRelativePath = System.IO.Path.Combine(Application.StartupPath, @"Resources\check_active.png"); 

출력 sRelativePath 문자열에있을 것입니다 : 나는 C#을 사용 영상 처리 함께 일하고 때

C:\Desktop\File\Resources\check_active.png 
+0

그래서''Application.StartupPath'를 인수에 넣어야합니까? – Paul

+0

현재 실행중인 실행 파일의 경로를 가져옵니다.인수에서 사용할 수 있습니다. – Hassan

+0

오류가 발생했습니다 ' '경로'가 현재 컨텍스트에 존재하지 않습니다. ' – Paul

0

사실,이 오류가 발생했습니다. 그런 다음 필요한 dll을 프로젝트의 bin 폴더에 복사했는데 문제가 해결되었습니다. 예를 들어, cudart32_55.dll은 이미지 처리에 필요한 dll 중 하나입니다. 이 dll을 포함하지 않았고 코드를 실행하려고 시도했다가 System.Argument 예외가 발생했습니다. 따라서 System.Arguments Exception을 없애기 위해 필요한 dll을 모두 배치했는지 확인하십시오.

이것은 나를 위해 일했으며 이것이 내가 경험 한 것입니다. 한 번 사용해 보시길 권합니다.

관련 문제