다른 컴퓨터에서 다른 사람의 코드를 사용하고 있습니다. 한 컴퓨터에서 Application.ExecutablePath는 프로그래머가 예상 했어야하는 결과를 반환하고 그렇지 않은 경우 결과를 반환합니다. 둘 다 Windows 7 시스템입니다. 그것은 프로그래머가 분명히 두 번째 반환 문자열을 예상응용 프로그램. C#의 실행 경로에 구분 기호가 섞여 있습니다.
"C:\\Dir1\\Dir2\\Dir3\\bin/Debug/APP.EXE"
를 반환하는 다른 시스템에서
"C:\\Dir1\\Dir2\\Dir3/bin/Debug/APP.EXE"
코드 않기 때문에, : 뭔가처럼 내 컴퓨터에
는 Application.ExecutablePath 반환 이 :
string path = Application.ExecutablePath;
short found = (short)path.LastIndexOf(@"\");
if (found > -1)
{
path = path.Substring(0, found);
}
try
{
foreach (string File in Directory.GetFiles(path + @"\Res\Patterns\", "*.xml"))
{
found = (short)File.LastIndexOf(@"\");
if (found > -1)
//... use files found
및 파일 디렉토리가 Dir3 아래의 컴퓨터이므로 다른 컴퓨터에서는 발견되지만 내 컴퓨터에서는 발견되지 않습니다. Windows에서 슬래시 (예 : URL 경로)를 반환하기로 결정하는시기와 장소에 대한 정보는 UNC 경로와 '\'를 사용하여 비교할 수 없습니다. 이 코드가 다른 시스템에서 다르게 작동하는 이유는 무엇입니까?