滑兔

博客园 首页 新随笔 联系 订阅 管理


1)首先要将system.enterpriseservices加上强名处理。
参考Microsoft KB
对于C#程序,处理如下:
在引用system.enterpriseservices的项目属性页中,在通用属性/常规中的ActiveX/Com对象的包装程序集中的包装程序集密钥文件(名称)中填入相应的内容,如:EnterpriseLibrary.snk(或EnterpriseLibaryContainer)

2)为所有的enterprise library的assembly加上强名处理。
      a) 在\src 目录用命令 sn –k EnterpriseLibrary.snk创建一个强名文件。
      b) 创建bat文件,内容为sn -i EnterpriseLibrary.snk EnterpriseLibaryContainer,再运行。
      c) 在项目中有一个GlobalAssemblyInfo.cs 文件,在该文件中加入[assembly : AssemblyKeyName  ("EnterpriseLibaryContainer")],注意是AssemblyKeyName,而不是AssemblyKeyFile。
3)为预防在asp.net应用程序中使用Microsoft.Practices.EnterpriseLibrary.Common出错,必须将Enterprise Library中的Common的项目属性中的配置属性/生成/条件编译常数的Release或ReleaseFinal版本中只保留Trace常数,其余去掉。
4)重新编译Enterprise Library。
5)复制编译的dll文件至一个目录,也可保留在原有目录下。
6)编写install_to_gac.bat文件,其中的binDir即为Enterprise Library的bin目录,内容如下:
set binDir=.\bin
set utilDir=%windir%\Microsoft.NET\Framework\v1.1.4322

%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.Database.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.Database.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.Database.Authentication.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.Database.Authentication.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.Cache.CachingStore.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.Cache.CachingStore.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.ActiveDirectory.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Security.ActiveDirectory.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Logging.Sinks.Database.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Logging.Sinks.Database.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Logging.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Data.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Data.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Configuration.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Common.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Caching.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Caching.Database.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Caching.Database.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.Design.dll"
%utilDir%\gacutil /i "%binDir%\Interop.MSDASC.dll"

7)执行install_to_gac.bat。
这样所有的Enterprise Library就安装到GAC中,且可以正确地用于Asp.net和windows应用程序。

posted on 2005-12-13 10:03  sneak  阅读(1299)  评论(0)    收藏  举报