我有一個應用程序,其中HttpRuntime.AppDomainAppPath返回錯誤框的正確路徑。HttpRuntime.AppDomainAppPath爲什麼會返回錯誤框的路徑?
我然後試圖在一個String.Replace中使用它,並且由於套管,它沒有找到文件名中的路徑。
我知道我可以使用Regex.Replace但不願意。
我只有在生產機器上有這個問題,即使有問題的文件夾在開發中有相同的外殼。
我剛剛注意到Server.MapPath也返回錯誤的外殼。
任何想法?
我有一個應用程序,其中HttpRuntime.AppDomainAppPath返回錯誤框的正確路徑。HttpRuntime.AppDomainAppPath爲什麼會返回錯誤框的路徑?
我然後試圖在一個String.Replace中使用它,並且由於套管,它沒有找到文件名中的路徑。
我知道我可以使用Regex.Replace但不願意。
我只有在生產機器上有這個問題,即使有問題的文件夾在開發中有相同的外殼。
我剛剛注意到Server.MapPath也返回錯誤的外殼。
任何想法?
顯然問題出在與IIS錯誤的外殼被指定的站點目錄。僅僅更改主目錄並不能解決問題,因爲這些值已經在配置數據庫中設置了,顯然,因爲Windows不區分大小寫,所以在GUI中修復配置數據庫時不會修復配置數據庫。
我最終刪除了該網站並重新添加,因爲它尚未被使用。我可能已經完全改變了目錄名稱,並改變了GUI中的位置。
有幾件事情:
如果你不關心外殼,使用.ToUpper或.ToLower,並就更換。
Dim path As String = HttpRuntime.AppDomainAppPath.ToUpper
Dim newpath As String = Replace(path, "fnd", "rplc")
如果這不是一個選項,請嘗試更改替換函數中的比較方法。
你沒有指定一種語言,所以我不能舉一個具體的例子。
爲什麼不歸兩個字符串爲小寫 -
string newpath = somepath.Replace(s1.ToLower(), s2.ToLower());