我和.net

主要讲述Sharepoint以及OfficeSystem和在.net下的开发和应用

导航

给微软的IEWebControls加上强名称

微软提供的IEWebControls安装包里的程序编译出来的Microsoft.Web.UI.WebControls.dll是没有强名称的。当我在用它的时候,由于它没有强名称,我不得不取消的应用程序的强名称。而我发现,微软提供的这个安装包安装以后的文件夹中是包含源程序的,而且,它就是在批处理里面通过CSC.exe命令编译成DLL文件的,那么我可以不可以用自己的KEY签名,使编译出来的DLL具有强名称呢?我详细的检查了它提供的源程序,在“C:\Program Files\IE Web Controls\src”(默认安装路径)下有一个“Version.cs”文件,它的全文如下:

/------------------------------------------------------------------------------

// Copyright (c) 2000-2003 Microsoft Corporation. All Rights Reserved.

//------------------------------------------------------------------------------

 

using System.Reflection;

using System.Runtime.CompilerServices;

using System.Web.UI;

[assembly:AssemblyVersion("1.0.2.226")]

[assembly:AssemblyTitle("Microsoft IE WebControls")]

[assembly:AssemblyDescription("(Custom Build)")]

[assembly:AssemblyConfiguration("")]

[assembly:AssemblyCompany("Microsoft Corp.")]

[assembly:AssemblyProduct("Microsoft IE WebControls (Custom Build)")]

[assembly:AssemblyCopyright("Copyright (C) 2000-2003 Microsoft Corp. All rights reserved.")]

[assembly:AssemblyTrademark("")]

[assembly:AssemblyCulture("")]

[assembly:TagPrefixAttribute("Microsoft.Web.UI.WebControls", "iewc")]

哦,程序集的定义都在这里,我要是加上密钥的定义是否就可以生成带强名称的DLL呢?

于是,在这个文件的最后增加了下面定义:

[assembly: AssemblyKeyFile("c:\\mykey.snk")]

然后,重新运行批处理程序“builder.bat”重新编译DLL。经过确认,新生成的DLL就有了强名称了。

posted on 2004-12-31 05:39  皮皮  阅读(2068)  评论(4编辑  收藏  举报