繁体   English   中英

C# Visual Studio:在程序集中嵌入 XML 文档文件

[英]C# Visual Studio: Embed XML Documentation File in Assembly

我希望将 Visual Studio 生成的自动生成的 XML 文档文件作为嵌入式资源添加到我的项目的程序集中,但我不确定如何 go 解决这个问题。 我知道我可以手动更改.csproj文件以添加资源,使用类似:

<EmbeddedResource Include="Path\To\File\MyEmbeddedResource.meta.xml">
    <Link>MyEmbeddedResource.meta.xml</Link>
</EmbeddedResource>

但我不知道它如何与构建过程交互,或者我将为 XML 文件提供什么路径,因为它本身位于构建文件夹中?

我知道我可以使用上面的代码片段将任意文件添加为.dll的嵌入式资源,但是如何确保文档文件是最新的,并使用最新版本中生成的文件?

这里的总体目标是通过反射访问文档,这样.dll具有较少的外部文件依赖性。 鉴于该项目本身是一个 Class 库,我希望当该程序集包含在另一个项目中时,任何答案都不会中断。

嵌入的资源文件没有放在 build output 文件夹中,它包含在 DLL 文件的二进制 output 中。 就像您将定义一个公共常量字符串,其内容是 XML 文件的内容。 但是可以通过https的解决方案访问嵌入式资源://stackoverflow.com/a/3314213/593045

resouceName 取决于您将 XML 文件放置在哪些子文件夹中以及如何调用它 - 这定义了资源名称。 因此,我将使用一个基本文件夹,例如“embeddedXmlDoc”,并在其中使用相同的文件夹结构(命名空间中的每个文本的文件夹),如您要记录的类及其命名空间。 然后,您只需使用它们的命名空间和 class 名称即可找到正确的文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM