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

Bri*_*per 3 asp.net asp.net-mvc razor asp.net-mvc-3

当您添加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应用程序." 另外,我只是感兴趣.

Jus*_*tin 7

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

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


Bru*_*oLM 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));
}
Run Code Online (Sandbox Code Playgroud)

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

来自MSDN:

为了澄清这些都没有在部署到您的生产服务器需要.