我试图通过BizTalk业务流程调用.net类。但是当我将消息发送到BizTalk时,它并没有真正调用该类而是出现以下错误。
有人可以帮忙吗?
xlang / s引擎事件日志条目:创建BizTalk_Server_test.BizTalk_Orchestration_1服务时失败。异常类型:ServiceCreationException以下是一个堆栈跟踪,用于标识Microsoft.XLANGs.Core.ResourceContainer._allocateResource上的Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._serviceCreator(Guid& instanceId,Object objCurrMsg)发生异常的位置(Guid& ;密钥,UInt32 hashKey,ResourceCreator resCreator,Object creationContext),位于Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._dispenseService的Microsoft.XLANGs.Core.ResourceContainer.Dispense(Guid& key,ResourceCreator resCreator,Object creationContext)(Guid& instanceId, IBTMessage currMsg)Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._tryReceiveOneMessage(Boolean& loggedError,Guid& instanceId,IBTMessage currMsg)at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._receiveOneMessage(Guid& instanceId,Guid& serviceId,IBTMessage currentMsg) )在M的Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession.ReceiveMessages(IBTMessage []消息,Int32 firstIdx,Int32计数) Microsoft.XLANGs.BizTalk.CrossProcess.AppDomainStubProxy.Microsoft.XLANGs.BizTalk.ProcessInterface.IAppDomainStub.ReceiveMessages(icrosoft.BizTalk.XLANGs.BTXEngine.AppDomains.AppDomainRoot.Microsoft.XLANGs.BizTalk.ProcessInterface.IAppDomainStub.ReceiveMessages(Object objMsg) Object msgs)其他错误信息:无法加载文件或程序集'BizTalk Server test,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 56064b11c189a7aa'或其依赖项之一。该系统找不到指定的文件。异常类型:FileNotFoundException源:mscorlib目标站点:Void GetTypeByName(System.String,Boolean,Boolean,Boolean,System.Runtime.CompilerServices.StackCrawlMarkHandle,Boolean,System.Runtime.CompilerServices.ObjectHandleOnStack)以下是标识System.RuntimeTypeHandle.GetTypeByName(String name,Boolean throwOnError,Boolean ignoreCase,Boolean)System.RuntimeTypeHandle.GetTypeByName(String name,Boolean throwOnError,Boolean ignoreCase,Boolean reflectionOnly,StackCrawlMarkHandle stackMark,Boolean loadTypeFromPartialName,ObjectHandleOnStack type)发生异常的位置在Microsoft.BizTalk上的System.Type.GetType(String typeName,Boolean throwOnError)处的System.RuntimeType.GetType(String typeName,Boolean throwOnError,Boolean ignoreCase,Boolean reflectionOnly,StackCrawlMark& stackMark)处的reflectionOnly,StackCrawlMark& stackMark,Boolean loadTypeFromPartialName。 XLANGs.BTXEngine.BTXServiceStaticState.Reso lve()at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._createNewService(Guid& serviceId,Guid& Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._createOrRehydrateRealService(Guid& instanceId,IBTMessage currMsg)中的instanceId,BTXServiceStaticState staticState)
答案 0 :(得分:1)
正如消息所示:您的程序集'BizTalk Server test,Version = 1.0.0.0'或其中一个依赖项似乎没有出现在BizTalk正在查找的任何参考文件夹中。您是否已调查是否已正确部署所需的组件?
答案 1 :(得分:1)
您的.Net代码需要位于GAC(全局程序集缓存)中,因此BizTalk的底层.Net运行时可以解析完全限定的类型名称。
根据BizTalk(2010与早期版本)和当前架构(32位与64位)的版本,有一个相当简单的构建后任务,您可以添加到Visual Studio项目中以自动执行此操作您。 Here's a post I wrote a while ago