Have you ever got this error message: “The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)” when running a BizTalk application? Perhaps a more precise description and full story is in order…
I read this to a colleague of mine, who had previously stated that “long filenames can get you into trouble when used on pipelines”. Her response was one of recognition and so I began searching for reasons and maximum lengths. Despite Google's lack of answers I found that the main reason is that the fully qualified name of the pipeline is too long.
How long is too long
When developing pipelines, looking at the properties, the combined length of the “Namespace” and “Type name” properties cannot exceed 254. For those of you who wanted extra credit in school and want the number to be 256, well you are right because two more signs (“ ,”) are added between the type name and namespace thus making it 256. However these are added by deployment and you cannot omit them.
To be sure I have tested both the lengths of the type name and the namespace and I am sure that it is the combined length that must not exceed 254.
I am actually not sure that this is the actual reason (since I do not work for the MSFT product team) but evidence points to this: The reason is that the table column that holds the data in the management database cannot hold more that 256 nvarchar. I am not sure of this so any feedback is welcome.
To make matters worse I have not found any warning when deploying pipelines with long names. Also, the pipelines are imported into BizTalk, they are configurable and does not crash until used in runtime.
When developing BizTalk artefacts with a naming convention that uses long names; beware of the 254/256 limit.