.Net 问题“路径中存在非法字符”。

Ben*_*Ben 0 .net asp.net

大家好,我不是 .net 开发人员,我来自 PHP、python 背景,我不知道该怎么做。

尝试加载我们的网站之一时出现以下错误。请有人帮忙

[ArgumentException: Illegal characters in path.] System.IO.Path.CheckInvalidPathChars(String path) +7491109 System.IO.Path.GetFileName(String path) +19 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize) +16 System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials) +77 System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn) +54 System.Xml.XmlTextReaderImpl.OpenUrlDelegate(Object xmlResolver) +74 System.Threading.CompressedStack.runTryCode(Object userData) +70 System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) +0 System.Threading.CompressedStack.Run(CompressedStack compressedStack, ContextCallback callback, Object state) +108 System.Xml.XmlTextReaderImpl.OpenUrl() +186 System.Xml.XmlTextReaderImpl.Read() +208 System.Xml.XPath.XPathDocument.LoadFromReader(XmlReader reader, XmlSpace space) +217 System.Xml.XPath.XPathDocument..ctor(String uri, XmlSpace space) +116 System.Xml.XPath.XPathDocument..ctor(String uri) +6 OpenBay.Utils.XPathUtils.GetNodes(String xpathQuery, String xmlFile) +30 OpenBay.Wms.Controllers.SiteController.SetErrorPages(Site site) +21 OpenBay.Wms.Controllers.SiteController.GetSite(Uri uri, DirectoryInfo dir, String applicationName) +104 OpenBay.Wms.HttpModule.UrlProcessHttpModule.GetSiteParameters(HttpApplication app, RequestInfo info) +172 OpenBay.Wms.HttpModule.UrlProcessHttpModule.ProcessRequest(Object o, EventArgs args) +338 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

thanks guys

Gra*_*ton 5

您的代码将调用System.IO.Path.CheckInvalidPathChars,它依次检查以下内容:

  1. 双引号 (")

  2. 左尖括号 (<)

  3. 右尖括号 (>)

  4. 竖线 (|)

以及小于 32 位十进制(空格)的控制字符。

所以请确保您的路径不包含它们。

编辑: Guy Lowe 的评论

我的问题是我在 c:\ 中未转义的 \ 使其 c:\ 修复了它