1

最近我有点惊讶地发现,我精心设计的 xml 评论并没有在我的同事的智能感知中出现。一直将关联程序集与项目引用一起使用,我没有意识到您还必须导出 .xml 文档才能访问此信息。

这让我想知道 .Net 框架智能感知是如何工作的。如果我理解正确,.xml 文件必须隐藏在特殊文件夹中的某个地方吗?

但我的主要问题是关于“转到定义”——如果你在 .Net 框架程序集上转到定义,你会得到从元数据生成的信息——而且还有很多有用的评论——这些是从 Xml 评论神奇地生成的,还是有人有写一个宏+来转换它们只是为了构建?换一种说法:我怎样才能为我的程序集获得这种效果?

4

1 回答 1

1

您的项目是否配置为生成 XML 文档?仅仅因为您将注释添加到源代码,编译器将不会生成 .xml 文件,除非它被告知。

在项目属性页面中,转到“构建”选项卡并查看“输出”部分。您应该会看到一个标题为“XML 文档文件”的复选框条目。如果该复选框后面的文本框为空,则您没有生成 XML 文档文件。

生成 XML 文档文件后,您应该会在 IntelliSense 工具提示中看到您的注释。如果您包含对其他项目的引用作为项目引用,这应该会自动发生。如果包含对程序集的引用,则需要确保 xml 文件与引用的程序集位于同一位置。(当您构建时,您应该获取所有在 bin/debug 或 bin/release 文件夹中的程序集的 xml 文件。)

对于 .NET Framework 程序集本身,相应的 xml 文档文件作为框架的一部分安装。对于 .NET 2.0、3.0 或 3.5,文档文件位于C:\Windows\Microsoft.NET\Framework\v2.0.50727\en(假设框架的默认安装)。IntelliSense 工具提示和 Visual Studio 中的“转到定义”功能都使用这些文件来显示此信息。没有发生任何特殊处理或运行宏来实现这一点。Visual Studio 最可能使用的唯一信息是注册表项的组合,以确定文档文件的正确路径。

虽然您可能可以在同一文件夹中找到您自己的程序集的 xml 文档文件,但我建议您不要这样做,因为这样您会使用非框架相关文件污染框架安装。

于 2008-11-11T16:39:49.423 回答