2014-03-13 2 views
0

Visual Studio를 사용하여 C#에서 프로그램을 개발하고 디버그 폴더에서 .exe 파일을 생성했습니다. 또한 Properties-> Debug에서 명령 줄 인수를 추가했습니다. \ 예 \ 빈 \ 릴리스 \ Input_Files은 \ D : \ 예 \ 빈 \ 디버그 \ 디버그로 솔루션 구성을 표시하여이 솔루션을 실행 (900) (640).exe 파일을 명령 프롬프트에서 실행하십시오.

, 그것은 생성 trycc.css 통과

params 객체를 파라미터는 D는 디버그 폴더에 .exe 파일.

동일한 명령 줄에서 실행하려고하면 .exe와 같은 수준에있는 파일을 열 수 없습니다.

D:\>D:\Example\bin\Debug\Example.exe D:\Example\bin\Release\Input_Files\ D:\Example\bin\Debug\trycc.css 900 640 

어디서 잘못 될지 이해하지 못합니다. 친절하게 도와주세요.

는 여기있다 :

D:\>D:\Example\bin\Debug\DFu1.exe "D:\Example\bin\Release\I 
nput_Files\" "D:\Example\bin\Release\Input_Files\css\screen.css" "900 
" "830" 
Incomplete Arguments entered. 
Press any key to continue 


Unhandled Exception: System.IO.DirectoryNotFoundException: Could not find a part 
of the path 'C:\Out\elogs.txt'. 
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, I 
nt32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions o 
ptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) 
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) 
at ExampleParser.Program.Main(String[] args) in D:\Example\Program.cs:l 
ine 691 
+0

작업 디렉토리에 문제가 있거나 ""사이에 매개 변수를 넣어야합니다. 명령 프롬프트에서 전체 출력을 복사하여 붙여 넣을 수 있습니까? 방법을 모른다면 - 명령 프롬프트 창에서 마우스 오른쪽 버튼을 클릭하고 표시를 선택하고 마우스 오른쪽 버튼을 클릭하면 클립 보드에 표시됩니다 (여기서 CTRL + V를 누르십시오). – kape123

+0

편집했습니다 .. 제발 봐주세요 – Aada

답변

0

은 문제가 잘못 인용 당신이 될 수 있습니다.

"D:\\Example\\bin\\Release\\Input_Files\\" "D:\\Example\\bin\\Debug\\trycc.css" 900 640 

또는 : : 올바른 경우 먼저, 존재하지 않는 디렉토리 (폴더) D:\Out'를 참조 디렉토리가 존재하는지 확인하는 표시

"D:\Example\bin\Release\Input_Files\" "D:\Example\bin\Debug\trycc.css" 900 640 
+0

첫 번째 경우에는 더 적은 수의 인수가 표시됩니다. 그리고 두 번째로 아래에 언급 된 것과 같은 오류가 발생합니다. – Aada

+0

@Aada, 인수를 처리하는 코드를 보여주십시오. –

+0

@Kirill, Program.cs에서 코드를 표시 할 수 있습니까? 691 번 줄? –

0

이 인수를 전달하려고 국장님. 그렇지 않은 경우 앱에서 절대 경로가 아닌 상대 경로 (예 : ..\SomeDir\)를 사용하고 있으므로이 코드를 올바르게 변경해야 코드가 변경 될 수 있습니다. 응용 프로그램의 작동을 증명하는 간단하면서도 빠른 방법은,이 위치하며, 해당 경로에서 EXE 실행되는 디렉토리에 첫 번째 CD에 있습니다 : 기억, 당신은 실제로 상대 경로가있는 경우

cd D:\Example\bin\Debug 

Example.exe D:\Example\bin\Release\Input_Files\ D:\Example\bin\Debug\trycc.css 900 640 

을 그 경우 app (.exe)이 D:\Example\bin\Debug이고 디렉토리가 D:\Example\bin\Out이고 코드가 ..\Out을 사용하여 "Out"디렉토리에 읽거나 쓰려고하면이 앱을 \ bin \ Debug에서 직접 실행하면 성공합니다. 하지만 D:\MyOtherDir\Test에서 앱을 실행하면 (예 : D : \ Example \ bin \ Debug \ Example.exe의 전체 경로를 전달하는 경우) D : \ MyOtherDir \ Out 상대 경로 exe가있는 곳이 아닌 현재 작업 디렉토리를 기반으로합니다.

관련 문제