.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
给微软的IEWebControls加上强名称

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

 

微软提供的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就有了强名称了。




相关文章

相关软件