我正在使用C#测试项目。我希望在项目内的文件Dump下加载一个Xml。我能够做到
string path = “C:\ APP \ FrameworkTest \ TestProject \转储\ GetAddressById.xml”;
但我不想这样使用,因为如果驱动器发生变化,我的代码将失败。
在asp.net中我们有类似Server.MapPath()的东西。有这样的事吗?答案 0 :(得分:1)
例如:
var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var path = Path.Combine(dir, "Dump", "GetAddressById.xml")
希望这有帮助。
答案 1 :(得分:0)
如果您知道文件夹Dump
将始终存在于应用程序的deployement文件夹中,那么您当然不需要硬编码完整路径。
对于ASP.net:
var path = System.IO.Path.Combine(Server.MapPath("/"), "Dump",
"GetAddressById.xml");
对于C#:
var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Dump",
"GetAddressById.xml");