0
我在寫一個小類來管理內部應用程序的配置XML。第二次迭代XDocument.Save()拋出「訪問被拒絕路徑」
每次載入一個新的t列表時,都會調用以下代碼,並嘗試序列化新t的數據,或者在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拋出權限異常。
任何幫助,非常感謝。
哇,我不敢相信我沒有注意到......我相信我爲了緩解這個問題而複製並粘貼了以前的版本。 另外,被調用的重載實際上是Path.Combine(String [])簽名,我很驚訝編譯器將單個字符串作爲參數,並且會隱式地將其轉換。我可以發誓我見過使用數組參數的方法的實例會拒絕這種情況。 – SurelyTheresABetterWay
@SurelyTheresABetterWay:這是一個'params string []' - 這很好。如果它只是'string []'它不會使用它。 –