사내 응용 프로그램 용 구성 XML을 관리하는 작은 클래스를 작성 중입니다."Path to Denied"액세스를 반환하는 XDocument.Save()의 두 번째 반복
다음 코드는 t의 새 목록이로드 될 때마다 호출되며 새 t에 대한 데이터를 serialize하거나 t가 이미있는 곳에서로드하려고 시도합니다.
나는 근본적인 것이 빠졌지 만 어디 있는지 모르겠습니다.
예외 코드는
if (!File.Exists(Path.Combine(Environment.CurrentDirectory + "TaskData.xml")))
{
XDocument doc = new XDocument();
XElement rootElement = new XElement("ConfigData",
new XElement("Servers"),
new XElement("Paths"));
doc.Add(rootElement);
doc.Save("TaskData.xml");
}
특정 라인 'doc.Save ("TaskData.xml")'이다 의해 발생된다.
처음 반복 할 때 제대로 작동하고 코드에서 템플릿 파일을 만듭니다.
두 번째 반복에서 xml 파일이 디렉터리에있는 경우에도 File.Exists는 'false'를 반환하고 doc.Save는 사용 권한 예외를 throw합니다.
도움을 주시면 대단히 감사하겠습니다.
... 현재 코드도 컴파일합니다입니다 , 나는 그것을 잡지 않았다는 것을 믿을 수 없다 ... 나는 문제를 경감시키기 위해 이전 버전에서 복사하고 붙여 넣었다고 믿는다. 또한 호출되는 오버로드는 실제로 Path.Combine (String []) 시그니처입니다. 컴파일러가 단일 문자열을 인수로 사용하여 암시 적으로 캐스팅합니다. 나는 배열 매개 변수를 취하는 메서드를 인스턴스화 한 것이 바로 그 상황을 거부했다는 것을 맹세 할 수 있었다. – SurelyTheresABetterWay
@SurelyTheresABetterWay :'params string []'입니다. 괜찮습니다. 그냥'string [] '이라면 그것을 사용하지 않았을 것입니다. –