设计时获取文件的相对路径

6

我正在开发一个Windows Phone 8应用程序。

在设计时,我加载一个示例XML文件来获取样本数据。这个方法运作良好,但是我想使用相对于解决方案根目录的文件路径,以便所有开发人员都可以使用同一段代码。

这是我的当前代码:

var path = @"C:\Users\Tom\MyProject\SampleData\stub.xml";
xml = new StreamReader(path).ReadToEnd();

我尝试了一个类似于@"SampleData\stub.xml"的相对路径。它在手机上可以工作,但在设计时我会遇到这个错误:
DirectoryNotFoundException: 找不到路径的一部分 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\SampleData\login.xml'。

1
相对路径必须有一些基础来进行关联。我猜这是你的工作目录。;-) 将文件包含在项目中并设置操作:如果较新则复制。 - Pavel Voronin
这不是完全相同的问题,但基本上您需要使用此问题中的一个解决方案:https://dev59.com/n0zSa4cB1Zd3GeqPnIGx - Dana Cartwright
谢谢Dana,这是唯一对我有用的解决方案:https://dev59.com/AEfRa4cB1Zd3GeqP6iJO - Tom Esterez
1个回答

3

以下是我的操作步骤:

var path = "SampleData/stub.xml";
var res = Application.GetResourceStream(new Uri(path, UriKind.Relative));
xml = new StreamReader(res.Stream).ReadToEnd();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接