System.Web.Razor.xml用于什么?

时间:2011-06-29 11:37:29

标签: asp.net asp.net-mvc asp.net-mvc-3 razor

当你添加MVC和Razor部署依赖项时,我得到的很多的程序集超出了我的预期。但我也得到了大量的XML文件。即:

  • Microsoft.Web.Infrastructure.xml
  • System.Web.Helpers.xml
  • System.Web.Razor.xml
  • System.Web.WebPages.Deployment.xml
  • System.Web.WebPages.Razor.xml
  • WebMatrix.Data.xml
  • WebMatric.WebData.xml

这些是为了什么?它们似乎不是部署的ASP.NET MVC和Razor站点工作所必需的,但我想知道它们的用途以及为什么或者在我开始告诉人们之前我确实需要它们,“不,你绝对不需要它们来运行MVC 3应用程序。“另外,我只是感兴趣。

4 个答案:

答案 0 :(得分:7)

这些.xml文件包含Visual Studio在显示智能感知提示时使用的其他文档元数据(如类/方法描述)。

在构建或运行时期间根本不需要它们,并且仅在使用Visual Studio IDE进行编码时使用。

答案 1 :(得分:5)

Namespace.xml个文件是文档文件。它包含对类,方法,属性等的三个斜杠注释。

您可以在文件中创建,为此继续Project Settings > Build > XML Documentation File。它将从您的代码中提取///条评论以生成文档。

示例:

/// <summary>
/// Crops image on the given Point and Size
/// </summary>
/// <param name="img">Current Image</param>
/// <param name="xy">Point X, Y</param>
/// <param name="wh">Size Width, Height</param>
/// <returns></returns>
public static Image Crop(this Image img, Point xy, Size wh)
{
    return img.Crop(new Rectangle(xy, wh));
}

然后,如果您将DLL发送给某人,他们将不一定拥有该代码,因此他们将不会拥有此文档,并且VS intelisense将找不到有关该方法的任何信息。使用XML文件,即使没有代码,他们也可以看到方法信息。

来自MSDN:

为了澄清这些在部署到生产服务器时需要而不是

答案 2 :(得分:2)

它告诉VS在相应的dll中的事物的IntelliSense描述中显示什么

答案 3 :(得分:1)

它们是视觉工作室内部开发的支持文件。通过在编码和引用期间提供内联帮助,它有助于加快开发速度。它们是Visual Studio的辅助工具。

一旦开发阶段结束,您可以删除它们。部署时不需要它们!!!