我花了几个小时试图找到一个好的答案..如何将XML文件加载到类库中。我已经检查过这个问题的具体答案,如果有人问这个问题,那么措辞的措辞并不能让我找到一个合适的答案。
我只需要能够在没有Web依赖引用的类库中引用XML文件。
我有一个项目,我正在构建一个类库,它将用于各种功能,以及应用程序,桌面,Web,内部等的多种表现形式......所以我需要成为能够依赖返回的路径。
我曾考虑将物理路径设置为AppSetting或类似,但我宁愿不必在bin目录中直接使用.xml文件(始终复制),然后从那里引用它。 。
Assembly.GetExecutingAssembly().Location // base .net directory? windows/.net/...
AppDomain.CurrentDomain.BaseDirectory // based directory of app that references .dll
(也许我误解/误用上述内容?)
基本上我想引用该文件。我知道我之前已经这样做了,但此刻它完全逃脱了我,我无法找到引导我的资源。我期待一堆对其他堆栈帖子的引用,如果其中一个工作,那么不管怎样,不要发一个说HttpContext.Current就是解决方案
更新:::
感谢您的快速解答..
这种作品,但我不想进入应用程序:
AppDomain.CurrentDomain.BaseDirectory +“\ BIN \ DataXML \ TaskData.xml”;
答案 0 :(得分:1)
为什么不为包含xml的Stream的DLL中的类提供信息?然后,使用您的DLL的程序可以决定从哪里获取流,可能是文件,或从内存或任何地方。
namespace MyNameSpace
{
public class MyClass
{
public void LoadXML(Stream xmlStream)
{
}
}
}
答案 1 :(得分:0)
我会使用AppDomain.CurrentDOmain.BaseDirectory
。如果您查看the documentation for Assembly.Location,就会明白为什么它可能不合适。