【发布时间】:2011-12-22 17:26:27
【问题描述】:
我有遵循项目结构
/build-out/MyApp.dll /dependencies/ResFile.xml /src/MyFile.cs在 MyFile.cs 中,我想打开 /dependencies 目录中的 ResFile.xml 并阅读它以满足某些需要。 Visual Studio 中的所有功能都像一个魅力,但是当我制作一个 dll 并将它与另一个应用程序(作为外部库)一起使用时,我收到一个错误,因为它找不到 dependencies/ResFile.xml 文件。
那么,如何将资源文件添加到结果 MyApp.dll 文件中?
【问题讨论】:
-
在用户的机器上部署你的应用后,你会遇到更大的问题。没有项目目录。一个简单的解决方案是将 .xml 文件复制到与 .exe 相同的目录中,这样找到它永远不会有问题。或者实际上将其嵌入为真实资源。项目 + 属性,资源选项卡。
-
@HansPassant,有没有办法将库的“非 dll”依赖项包含到宿主项目中,以便可以更改这些依赖项(例如文本文件)而无需重新编译库。 (如果是嵌入式资源,如果更改(txt)文件,我们需要重新编译库)
-
@ANewGuyInTown 一个潜在的解决方案是在 dll 中嵌入一个默认文件,如果不存在则使用它来创建一个磁盘文件。然后从用户可以编辑的磁盘文件加载。如果您从程序文件目录(exe 位置)加载,您可能需要管理员权限,因此可以查看标准应用数据目录。
标签: c# visual-studio visual-studio-2008 dll resources