내 컴퓨터에서 모든 것이 잘 작동하고 멋지지만 다른 Windows7 컴퓨터에서 프로그램을 테스트했을 때 System.UriFormatException
: 이 나타납니다. 잘못된 URI : 문자열에 잘못된 시퀀스가 있습니다. 다음 코드에 : 처음에는 Uri.UnescapeDataString(section);
Uri.UnescapeDataString이 다른 컴퓨터에서 실패합니다
나는 두 번째 컴퓨터가 dev에 PC에서 다른 데이터를 수신 한 생각, 그래서 파일에 실패 된 HTML 문자열을 복사하여 여기에 내 코드를 감소 :
static void Err(string s){/*Picked up by external logging*/}
private static void GetValue()
{
try
{
var html = File.ReadAllText("ld.txt");
//Retrieve section we want
var section = Regex.Match(
html,
"etc_etc(.*): ",
RegexOptions.Singleline)
.Groups[1].ToString();
Uri.UnescapeDataString(section);
}
catch (Exception ex)
{
Err(ex.ToString());
}
}
dev pc에서 제대로 작동하지만 두 번째 컴퓨터는 예외를 다시받습니다. 두 파일 모두 똑같은 ld.txt
파일에서 동일한 HTML을로드 한 다음 똑같은 작업을 수행합니다. 두 PC 모두 x64 Win7입니다. 뭐라 구요?
닷넷 4.5 .NET 버전 및 패치를 통과? 하나는 패치되고 다른 하나는 오류 일 수 있습니다 ... 그리고 ld.txt에서 오류를 생성하는 행은 무엇입니까? – nhahtdh
확인하지 않았지만 응용 프로그램은 4.0으로 작성되었습니다. 업데이트가 도움이되는지 확인하겠습니다. (있는 경우) – natli
텍스트 인코딩 문제 일 수 있습니까? 한 컴퓨터의 다른 기본 텍스트 인코딩이 다른 컴퓨터에 있습니까? 컴퓨터 1의 문자열'section'이 컴퓨터 2의'section'과 정확히 동일하다는 것을 확인 했습니까? 둘 다 동일한 버전의 .NET을 실행하고 있습니까? –