如何设置和部署过程

时间:2012-06-01 07:42:23

标签: c# .net xml

XmlReader reader = XmlReader.Create(@"E:\NewFolder\WindowsFormsApplication1\WindowsFormsApplication1\QuestionFile.xml")

在我的应用程序中,我已经阅读了一个xml文件,该文件位于我的电脑中的特定位置,但现在我想部署我的应用程序,当我朗读我的exe并安装在其他电脑上我得到错误读取错误的xml文件,那我该怎么做呢 就像我以前读过xml文件一样。

如果有人帮助我,我真的很感激! 感谢

3 个答案:

答案 0 :(得分:1)

您可以将XML包含在与程序相同的文件夹中。在代码中,动态构建字符串,使用以下命令获取程序当前正在执行的文件夹的名称:

Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

之后您需要做的就是将Path.Combine附加的XML文件的名称附加到字符串中。

修改

(您需要包含对System.IOSystem.Reflection)的引用。

您可以单独创建包含路径的字符串,然后使用它来创建阅读器:

string xmlLocation = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "QuestionFile.xml");
XmlReader reader = XmlReader.Create(xmlLocation);

请记住,如果你在VS中的调试中运行它,这将指向你的调试目录,所以要确保XML文件的副本在那里。

答案 1 :(得分:0)

您可以将questions.xml与EXE打包为嵌入式资源吗?

答案 2 :(得分:0)

嗯,我认为你有两个选择:

1)在解决方案中包含xml作为嵌入式资源,并使用GetManifestResourceStream读取它。 Here's有关如何操作的更多信息。

2)将其包含在解决方案中,并将文件的Build Action设置为Content。然后在MSI安装程序包中,您可以包含该项目的“内容”输出。这意味着该文件最终将作为位于应用程序安装路径中的单独物理文件包含在内。 有关详细信息,请参阅Here。第2步显示了如何添加不同的输出。