【问题标题】:Build library with ressources用资源建立图书馆
【发布时间】:2014-05-16 11:28:13
【问题描述】:

我制作了一个使用 .xml 文件进行配置的库。但是在使用这个库的核心项目中,不会复制资源。我添加了对我的 library.dll 的引用,但当然没有什么说我需要包含 lib 项目的 /configuration 文件夹。

我怎样才能做到这一点? (不包括手册)

ps:我在 c# 中使用 Visual Studio 2012 Ultimate 工作。两个项目都是c#。一个生成库(dll 等),另一个是可执行项目。

提前致谢:)

【问题讨论】:

    标签: c# dll build embedded-resource


    【解决方案1】:

    右键单击并选择添加 > 现有项目以将资源包含到您的项目中。

    包含它们后,在解决方案资源管理器下选择它们,右键单击并选择属性。查找Copy to Output Directory,并将其设置为Always。那应该将文件与您的项目一起复制。

    如果需要,另一个选项可能是将Build Action 设置为Embedded Resource,但这可能会使从应用程序访问文件变得更加复杂(但并非不可能)。

    更新:访问嵌入的文件有点麻烦,但这个other SO question 可能会帮助你。

    【讨论】:

    • 我的资源已正确复制到 /release 或 /debug 文件夹中,它在 lib 项目中按预期工作。问题是:当我将此库包含到另一个项目中时,它没有复制 .xml 文件。所以在另一个项目中我有一个 IOexception 因为没有文件了:s
    • 我很确定如果我手动将 lib projecto 的 /configuration 文件夹复制到核心项目的 /release 文件夹中,它会起作用。但我不想这样做,用手:s
    • Ok.. 那么我怀疑您可能需要使用我的第二个选项:如果您将文件作为嵌入式资源包含,它们应该包含在 in.dll 中,并且所以你应该也可以从第二个项目中访问它们。
    • 这样,我失去了在 xml 中拥有一个配置文件的所有好处,我可以修改它而无需重建整个项目:s 编辑:另外我使用这个 .xml 文件进行配置,我可以修改从代码或手动,取决于情况。如果它嵌入在 .dll 中,我可以再次序列化这些文件(我认为)。我说的对吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2015-09-04
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多