C#文件位置Connundrum

我有一个WCF应用程序描述依赖一个XML文件。 当服务外立面构造函数运行,并单独测试应用程序时的伟大工程,它被装载。 该方法我们单独的Web测试应用程序的设置是不同的(MVC)项目终点 - 因此,相对路径是不同的,我们需要加载XML文件。 现在的问题是什么是加载从两个项目文件的最佳方法(这样,当你单独运行的第一个项目,它加载该文件,但是当该DLL中的第二个项目被加载它仍然可以找到XML文件) ?

--------------解决方案-------------

你可以把它复制到输出目录。 您可以通过右键单击该文件,选择属性和更改“复制到输出目录”为“一直拷贝”做到这一点从Visual Studio。

在运行时,你就可以发现,在当前目录下的文件中的两个项目。

尝试Server.MapPath

例:

使用Server.Mappath(@“〜\ App_Data文件\ menudata.xml”)

那么你可以把你的文件中的任何位置,相对于你的网站/ Web服务的根目录。

我试图“复制到输出”没有运气 - 由于某种原因,我的根路径是不是哪里的输出路径是(我以前认为的)。所以抽象掉任何其他开发商设立这个项目,我做了这个头疼:

var _assembly = System.Reflection.Assembly.GetExecutingAssembly();
XDocument xdoc = XDocument.Load(new StreamReader(_assembly.GetManifestResourceStream("TheNamespace.Api.TheFile.xml")));

这当然需要文件是嵌入的资源。

分类:C# 时间:2012-08-09 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.253 (s). 9 q(s)