什么是与.NET程序集文件一起提供的XML文件?

sha*_*oth 22 .net xml .net-assembly

许多.NET程序集都附带XML文件.例如,System.Web.WebPages.Razor.dll与之一起System.Web.WebPages.Razor.xml包含以下内容:

<?xml version="1.0" encoding="utf-8" ?> 
<doc>
   <assembly>
       <name>System.Web.WebPages.Razor</name> 
   </assembly>
   <members>
       <member name="T:System.Web.WebPages.Razor.PreApplicationStartCode" /> 
       <member name="M:System.Web.WebPages.Razor.PreApplicationStartCode.Start" /> 
       <member name="T:System.Web.WebPages.Razor.RazorBuildProvider" /> 
       <member name="M:System.Web.WebPages.Razor.RazorBuildProvider.#ctor" />
        Much more elements follow...
   </members>
</doc>
Run Code Online (Sandbox Code Playgroud)

这个XML是什么用的?我是否需要在运行时使用它?

Mar*_*ell 17

它是代码注释/智能感知文件,由IDE(即Visual Studio)使用,而不是运行时 - 它是所有扩展方法/参数/类型描述等来自的地方.

您不需要使用二进制文件来部署它,但它也没有任何害处.它在IDE中也是完全可选的 - 只是:如果没有它,intellisense对你的信息就会少一些(它只显示名称和类型等 - 而不是更详细的方法描述).

在您自己的库中,使用///语法编写自己的代码注释,并在项目属性中启用XML文件生成.


小智 5

这是该程序集的XML文档.这仅用于VisualStudio中的Intellisense.请参阅此答案以获取详细信