我有一个问题,我必须得到我已经包含在我的解决方案中的xml文件的路径。任何机构都可以如何获取该文件的路径。?
我试过的是
string path = Directory.GetCurrentDirectory() + "/test.xml";
但这并没有给我正确的文件路径。任何人都可以向我提供详细信息以找到路径吗?
答案 0 :(得分:1)
试试这个..
String path = Application.StartupPath +“\ test.xml”;
如果您的xml位于BIN文件夹中,则可以使用该代码获取xml。
答案 1 :(得分:0)
您需要将文件放在项目的根文件夹中。另外,请尝试更正斜杠:... + "\\test.xml"
答案 2 :(得分:0)
取决于文件的位置。方法Directory.GetCurrentDirectory()
返回可执行文件(bin\debug
)
答案 3 :(得分:0)
如果它在解决方案文件夹中,那么它将不在应用程序的当前目录(正确的bin文件夹,具体取决于构建配置),除非您确保它是内容类型并被复制到构建文件夹< / p>
答案 4 :(得分:0)
如果您的参数接受URI,您可以使用类似
的内容new Uri("/<proejct or assembly name>;component/<folder path>/<filename>")
例如我的proejct foo.bar有一个名为resources的文件夹,其中我有一个文件说dummy.xml我可以使用
new Uri("/foo.bar;component/resources/dummy.xml")
答案 5 :(得分:0)
为了更具体一点,为什么您的运行时可执行代码依赖于您的预构建/构建时解决方案结构?我建议您实际可能要做的是使用build event将XML从解决方案文件夹复制到构建和部署目标可执行文件的目标目录。如果您这样做,那么您可以在代码中使用“CurrentDirectory”方法,而无需担心解决方案的结构。构建事件使用命令行语法并为您的解决方案目录提供了“宏”,因此您可以使用“xcopy $(SolutionDir)test.xml $(BuildDir)”
(如果你已经意识到这一点,我很抱歉,你有一些特别要求让代码遍历自己的解决方案结构。)