ASP.NET 浏览器注册工具 (Aspnet_regbrowsers.exe)

ASP.NET 浏览器注册工具 (Asnet_regbrowsers.exe) 将分析系统级的所有浏览器定义,并将这些定义编译成一个程序集,然后将该程序集安装到全局程序集缓存中。 该工具使用 .NET Framework 的 Browsers 子目录中的浏览器定义文件(.BROWSER 文件)。

备注

有关如何找到正确版本的 Asnet_regbrowsers.exe 的信息,请参见本主题后面的查找正确版本的 Aspnet_regbrowsers.exe

语法

aspnet_regbrowsers.exe <options>

选项

选项

说明

-?

在命令窗口中显示 Aspnet_regbbrowsers.exe 帮助文本。

-i

创建运行时浏览器功能程序集,并将该程序集安装在全局程序集缓存中。

-u

从全局程序集缓存中卸载运行时浏览器功能程序集。

备注

浏览器定义文件既可以是系统级的,也可以是特定于应用程序的,并且每种类型存储在不同的位置。 系统范围的浏览器定义文件的存储路径为:

%SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers

此目录包含一些随对应的 .NET Framework 版本一起提供的预定义的浏览器定义文件,还包括从软件更新或 Service Pack 复制到该目录的任何其他浏览器定义文件。 您可以为希望对 Web 应用程序全局可用的浏览器定义添加新的浏览器文件。 但不要更改 ASP.NET 随附的预定义的浏览器定义文件,因为 Service Pack 可能会更新这些文件并覆盖您所做的更改。

特定于应用程序的浏览器定义文件可以放在应用程序的 App_Browsers 目录中。 使用 ASP.NET 浏览器注册工具不会影响存储在应用程序的 App_Browsers 目录中的特定于应用程序的浏览器定义文件。

当修改系统级别的浏览器定义文件时,这些文件不会自动导致更新所有应用程序的浏览器功能。 必须运行 ASP.NET 浏览器注册工具来更新浏览器功能程序集。

备注

ASP.NET 浏览器注册工具将对与您从中运行该工具的 %WinDir% 下的 Framework 目录对应的 %SystemRoot% 下的 Browsers 目录中的浏览器定义进行编译。.NET Framework 2.0 附带的工具版本将为面向 .NET Framework 2.0、.NET Framework 3.0 或 .NET Framework 3.5 的网站更新浏览器定义程序集。.NET Framework 4 附带的工具版本将为面向 .NET Framework 4 的网站更新浏览器定义程序集。

ASP.NET 浏览器注册工具将分析系统级的所有浏览器定义,并将这些定义编译成一个程序集,然后将该程序集安装到全局程序集缓存中。 如果系统级的浏览器定义中存在错误,该工具将报告这些错误。 系统中的所有 Web 应用程序都使用该浏览器功能程序集。 注意,通过使用 BrowserCapabilitiesCodeGenerator 类,还能够以编程方式重新编译系统级的浏览器定义文件。

行为

运行 ASP.NET 浏览器注册工具时,将创建新的程序集,对所有 Web 应用程序的影响与更改 Machine.config 文件的影响相同:所有运行的 Web 应用程序都被回收,Microsoft Internet 信息服务 (IIS) 将重新启动。 该工具还生成随机的私有标记文件,并创建密钥文件对程序集进行签名,以使程序集能安装在全局程序集缓存中。 在该工具运行结束时,将移除密钥文件,而只留下公钥。

在运行时,浏览器定义信息合并到 BrowserCapabilitiesFactory 对象中的已知浏览器集合中。 发出请求时,ASP.NET 根据请求标头标识请求的浏览器,并编译一个与请求的浏览器类型相对应的 HttpBrowserCapabilities 对象。

备注

.NET Framework 1.1 将浏览器定义存储在 Web.config 文件的 browserCaps 元素中。虽然 .NET Framework 2.0 版中已弃用本节,但本节仍受支持。此元素中的数据与浏览器定义文件中的信息合并在一起。

使用其他应用程序源文件来分析和编译应用程序级别的浏览器定义文件。 对于网站项目,将在启动应用程序时按需进行编译,而应用程序将在其浏览器目录发生任何更改时自动重新编译。 ASP.NET 浏览器注册工具对应用程序级别的浏览器信息文件没有任何影响。

示例

若要分析系统级的所有浏览器定义,并将这些定义编译成一个程序集,然后将该程序集安装到全局程序集缓存中,请运行以下命令:

aspnet_ regbrowsers.exe -i

也可以使用该工具从全局程序集缓存中移除浏览器定义程序集。 下面的命令将浏览器定义程序集从全局程序集缓存中移除:

aspnet_ regbrowsers.exe -u

若要获取有关使用 ASP.NET 浏览器注册工具的帮助,请使用以下命令:

aspnet_ regbrowsers.exe -?

查找正确版本的 Aspnet_regbrowsers.exe

Aspnet_regbrowsers.exe 安装在 Microsoft.NET Framework 目录中。 如果计算机并行运行多个 .NET Framework 版本,则可安装多个工具版本。 下表列出了该工具在不同版本的 .NET Framework 中的安装位置。

.NET Framework 的版本

Aspnet_regbrowsers.exe 文件的位置

.NET Framework 2.0 版、3.0 版以及 3.5 版(32 位系统)

%windir%\Microsoft.NET\Framework\v2.0.50727

.NET Framework 2.0 版、3.0 版以及 3.5 版(64 位系统)

%windir%\Microsoft.NET\Framework64\v2.0.50727

.NET Framework 版本 4(32 位系统)

%windir%\Microsoft.NET\Framework\v4.0.30319

.NET Framework 版本 4(64 位系统)

%windir%\Microsoft.NET\Framework64\v4.0.30319

请参见

任务

如何:在 ASP.NET 网页中删除浏览器类型和浏览器功能

参考

BrowserCapabilitiesFactory

Browser

HttpCapabilitiesBase

浏览器定义文件架构(browsers 元素)

概念

ASP.NET Web 服务器控件和浏览器功能

保证浏览器定义文件的安全