Symptoms

Consider the following scenario:

  • You have a computer that is running on a double-byte character set (DBCS) language version of a Windows operating system. For example, the computer is running the simplified Chinese version of Windows Server 2003.

  • You create a Microsoft BizTalk project that is based on the Microsoft .NET Framework 2.0.

  • The BizTalk project contains a BizTalk orchestration. The BizTalk orchestration includes a transform shape to transform a map.

  • You deploy the BizTalk project, and you start the BizTalk orchestration.

In this scenario, an event that resembles the following is intermittently logged in the Application log:

Event Type: ErrorEvent Source: XLANG/sEvent Category: NoneEvent ID: 10034Description:Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'BizTalk_orchestration_name'.The service instance will remain suspended until administratively resumed or terminated.If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.InstanceId: Instance_IDShape name: Shape_nameShapeId: Shape_IDException thrown from: segment n, progress nInner exception: Error encountered while executing the transform project_name.map_name. Error: Unable to create the transform.Exception type: XTransformationFailureExceptionSource: Microsoft.XLANGs.EngineTarget Site: Void ApplyTransform(System.Type, System.Object[], System.Object[])

The following is a stack trace that identifies the location where the exception occurred:

at Microsoft.XLANGs.Core.Service.ApplyTransform(Type mapRef, Object[] outParams, Object[] inParams)at DMSPurchase_Orchestration.Orch_DMSPurchOrder.segment1(StopConditions stopOn)at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)Additional error information

Cannot access a closed resource set.Exception type: ObjectDisposedExceptionSource: mscorlibTarget Site: System.Object GetObject(System.String, Boolean, Boolean)

The following is a stack trace that identifies the location where the exception occurred:

at System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase, Boolean isString)at System.Resources.RuntimeResourceSet.GetString(String key, Boolean ignoreCase)at System.Resources.ResourceManager.GetString(String name, CultureInfo culture)at Microsoft.CSharp.CSharpCodeGenerator.GenerateCompileUnitStart(CodeCompileUnit e)at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeGenerator.GenerateCodeFromCompileUnit(CodeCompileUnit e, TextWriter w, CodeGeneratorOptions o)at Microsoft.CSharp.CSharpCodeGenerator.FromDomBatch(CompilerParameters options, CodeCompileUnit[] ea)at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromDomBatch(CompilerParameters options, CodeCompileUnit[] ea)at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromDom(CompilerParameters options, CodeCompileUnit[] compilationUnits)at System.Xml.Xsl.XsltOld.Compiler.CompileAssembly(ScriptingLanguage lang, Hashtable typeDecls, String nsName, Evidence evidence)at System.Xml.Xsl.XsltOld.Compiler.CompileScript(Evidence evidence)at System.Xml.Xsl.XsltOld.Compiler.Compile(NavigatorInput input, XmlResolver xmlResolver, Evidence evidence)at System.Xml.Xsl.XslTransform.Compile(XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence)at System.Xml.Xsl.XslTransform.Load(XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence)at System.Xml.Xsl.XslTransform.Load(XmlReader stylesheet, XmlResolver resolver, Evidence evidence)at Microsoft.XLANGs.BaseTypes.TransformBase.get_Transform() at Microsoft.XLANGs.RuntimeTypes.TransformMetaData..ctor(Type transformBaseType)at Microsoft.XLANGs.RuntimeTypes.TransformMetaData._creator(Type t)at Microsoft.XLANGs.RuntimeTypes.MetadataCache._slowFor(Type t) at Microsoft.XLANGs.RuntimeTypes.MetadataCache.For(Type t) at Microsoft.XLANGs.RuntimeTypes.TransformMetaData.For(Type t) at Microsoft.XLANGs.Core.Service.ApplyTransform(Type mapRef, Object[] outParams, Object[] inParams)

Cause

This problem occurs because of a known issue in the CultureInfo class of the Microsoft .NET Framework 2.0.

Resolution

To resolve this problem, apply hotfix 2461007. For more information about hotfix 2461007, click the following article number to view the article in the Microsoft Knowledge Base:

2461007 System.ObjectDisposedException may occur when you run a .NET Framework 2.0-based application on a server that has the Chinese (Simplified) or Chinese (Traditional) language pack installed

Status

Microsoft has confirmed that this is a bug in the Microsoft .NET Framework 2.0 Service Pack 2.

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.