Asp.net windows应用程序中的HttpContext.Current.Server.MapPath备选方案
Windows应用程序中的“HttpContext.Current.Server.MapPath”在web应用程序中的替代方案是什么。我应该在windows应用程序中使用什么来访问文件 [编辑] 在窗口应用程序中,此选项的替代选项是什么Asp.net windows应用程序中的HttpContext.Current.Server.MapPath备选方案,asp.net,c#-4.0,Asp.net,C# 4.0,Windows应用程序中的“HttpContext.Current.Server.MapPath”在web应用程序中的替代方案是什么。我应该在windows应用程序中使用什么来访问文件 [编辑] 在窗口应用程序中,此选项的替代选项是什么 reader = XmlReader.Create( @"D:\EnviroTrack\EnviroTracker.Web\TestDevice\Data.xml", settings); 请建议您可以使用常规方法映射路径帮助将虚拟路径
reader = XmlReader.Create(
@"D:\EnviroTrack\EnviroTracker.Web\TestDevice\Data.xml", settings);
请建议您可以使用常规方法<代码>映射路径帮助将虚拟路径转换为web服务器上的物理路径。winforms中不需要进行这种转换。您可能正在查找返回正在执行的程序集位置的
编辑-更新后的问题应在Winform中处理。
有很多重载,其中之一是(string,XmlReaderSettings)
。这是你在问题中使用的重载。您可以使用相同的方法,但如果愿意,可以使用不同的目录
reader = XmlReader.Create(@"C:\Data.xml", settings);
要获取执行程序集的目录,可以使用。所以可能是这样的:
reader = XmlReader.Create(AppDomain.CurrentDomain.BaseDirectory + "Data.xml", settings);
我认为
Assembly.GetExecutingAssembly.Location
返回exe
或dll
名称,有段时间没有尝试过此功能,因此无法确定
Application.StarupPath
可能会执行此任务。@DotnetSparrow:Updated答案。@DotnetSparrow-Updated。您可以使用BaseDirectory属性,该属性将返回可执行文件的路径。然后,您可以添加与此路径相关的Data.xml
文件