C# 之 @ Assembly

时间:2023-03-09 02:44:45
C# 之 @ Assembly

@ Assembly指定需要动态编译的类,在编译期间将程序集链接到 ASP.NET 应用程序页(例如网页、用户控件、母版页或 Global.asax 文件),使程序集的所有类和接口都在该页上可用。

<%@ Assembly Name="assemblyname" %>
<%@ Assembly Src="pathname" %>

以下为常用属性:

[1]Name:一个字符串,表示要链接的程序集的名称,不包括文件扩展名。

[2]Src:要动态编译和链接的源文件的路径。

注意:必须在 @ Assembly 指令中包含 Name 或 Src 特性,但不能在同一个指令中包含两者。

如果需要同时使用这两个特性,则必须在文件中包含多个 @ Assembly 指令。

编译器在编译时引用程序集,从而允许早期绑定。               完成对请求的 ASP.NET 文件的编译之后,便会将程序集加载到应用程序域中,允许后期绑定。  @ Assembly   指令可以在 .aspx 页、.ascx 文件、.master 页和 .asax 文件中使用。

驻留在 Web 应用程序的 \Bin 目录中的程序集将自动链接到该应用程序中的 ASP.NET 文件。               这样的程序集不需要 @ Assembly 指令。  您可以禁用此功能,方法是从应用程序的 Web.config 文件的 <assemblies> 节移除下面一行:

<add assembly="*"/>

作为使用 @ Assembly 指令的替代方法,可以使用 Web.config 文件在整个应用程序中链接程序集。               有关 Web.config 文件和配置应用程序的更多信息,请参见 ASP.NET Configuration Overviewcompilation 的 assemblies 元素(ASP.NET 设置架构)

示例

            

下面的代码示例使用两个 @ Assembly 指令,第一个链接到 MyAssembly(用户定义的程序集);第二个链接到 MySource.vb(Visual Basic 源文件)。

<%@ Assembly Name="MyAssembly" %>
<%@ Assembly Src="MySource.vb" %>