ASP.NET部署自定义控件
必须将自定义控件编译为程序集,并将程序集部署到服务器端,这样才能够在Web应用程序中使用自定义控件。如何实现部署程序集依赖于如何编译自定义控件。当开始部署自定义控件时有两个选项。一个选项是将包含自定义控件的程序集添加到使用该程序集的Web应用程序的bin文件夹内。这样只有该应用程序的页面才能够使用这个自定义控件。如果考虑使用这个选项,那么可以从命令行生成程序集,其使用如下命令编译CreditCardForm1.cs文件:
csc /t:library /out:CustomComponents.dll /r:System.dll /r:System.Web.dll CreditCardForm1.cs
另一个部署选项是将包含自定义控件的程序集添加到服务器的全局程序集缓存(Global Assembly Cache,缩写为GAC)中,这样运行于该服务器上的所有Web应用程序都可以使用该自定义空间。然而,只有强命名程序集才能被添加到GAC中。强命名程序集名称包括4个部分:程序集名、版本、文化和公钥标记。如果从命令行生成程序集,可创建一个名为AssemblyInfo.cs的文件(或者其他希望的名称),向该文件添加如下代码,并将该文件移动到CreditCardForm1.cs文件所在的目录中:
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyKeyFile("KeyFile.snk")]
using System.Runtime.InteropServices;
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyKeyFile("KeyFile.snk")]
如果在Visual Studio中进行生成,则需将这些代码添加到AssemblyInfo.cs中。
KeyFile.snk是一个签名文件,其用于标记程序集。可使用如下命令来创建签名文件:
sn -k KeyFile.snk
如果从命令行生成,则可使用如下命令来编译和标记CreditCardForm1.cs文件,以便生成一个名为CustomCompnents.dll的强命名程序集:
csc /t:library /out:CustomCompnents.dll /r:System.dll /r:System.Web.dll AssemblyInfo.cs CreditCardForm1.cs
接下来将强命名程序集CustomCompnents.dll添加到GAC中。您可以使用Windows资源管理器访问GAC,并拖放程序集。
浙公网安备 33010602011771号