我的C#應用程序寫入其用雙引號包圍完整路徑的文件,用:奇C#路徑問題
streamWriter.WriteLine("\"" + Application.ExecutablePath + "\"");
通常情況下它的工作原理,在書面文件中包含
"D:\Dev\Projects\MyApp\bin\Debug\MyApp.exe"
但是,如果我的應用程序的可執行路徑包含#,發生了一些奇怪的事情。輸出變爲:
"D:\Dev\Projects#/MyApp/bin/Debug/MyApp.exe"
#成爲正斜槓後的斜線。這會導致我正在開發的系統出現問題。
爲什麼會發生這種情況,是否有辦法阻止它比字符串更優雅?在寫入之前替換路徑?
我不能重現這一點。我有我的應用程序從C:\ my#\ project \ foo.exe運行,它正確寫出了上面寫的Application.ExecutablePath。當您調試Application.ExecutablePath檢查正確嗎?您是否對您寫出的文字進行任何後期處理? – Joe
我在一個新項目中重新測試了它,只用編寫該文件的代碼。它仍然重現。它使用的框架是4.5,如果這有什麼不同。 – Ryan
有趣的,特別是在埃利安的帖子下面。不知道我做了什麼不同(雖然我使用4.0框架...) – Joe