技术开发 频道

Biztalk之将程序集安装到全局程序集缓存

IT168 技术文档】

    使用Biztalk Server进行开发时,有时可能需要调用已经写好程序集里的函数。对于这种情况,需要将调用的程序集安装到全局程序缓存(Global Assembly Cache)中。否则,在Biztalk Server的日志中可能会看到如下的错误日志:

    事件类型: 错误
    事件来源: XLANG/s
    事件种类: 无 
    事件 ID: 10034
    日期: 2006-8-25
    事件: 13:01:18
    用户: N/A
    计算机: UITV-FANG
    描述:

    未捕获的异常终止了服务 CallFunction.MainOrch(f87583a7-9607-1e6b-7d79-2546662c7f19),实例 156a7c0e-2cea-4a56-b53b-213af7d7203d Could not load file or assembly 'MyFunction, Version=1.0.2428.22802, Culture=neutral, PublicKeyToken=3027498b2c98444d' or one of its dependencies. 系统找不到指定的文件。

    异常类型: FileNotFoundException
    源: CallFunction
    目标站点: Microsoft.XLANGs.Core.StopConditions segment1(Microsoft.XLANGs.Core.StopConditions)
    帮助链接:

    其他错误信息:有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

    要将程序集安装到GAC中,首先要为程序集赋一个强名(strong name),其实是用于签名的密钥。

    1.选择“开始\所有程序\Microsoft Visual Studio .NET 2003\Visual Studio .NET 工具\Visual Studio .NET 2003 命令提示”菜单,进入.net 2003命令提示窗口。
    2.在命令提示中输入:sn -k c:\yoursnfile.snk。
    3.打开要安装的项目AssemblyInfo.cs文件,找到[assembly: AssemblyKeyFile("")]代码,为其加入密钥文件:
[assembly: AssemblyKeyFile(@"C:\yoursnfile.snk")]
    4.重新编译项目。
    5.重新回到.net 2003命令提示窗口,输入如下命令: gacutil -I "c:\changetoyourpath\test.dll"

    其中双引号的内容都实际的程序集文件名代替。


0
相关文章