开发者

BizTalk doesn't see any of my GAC'd Assemblies

Folks, I realize this may look like the usual "you didn't restart your host instance" problem.. but there's more to it than that. I have a BizTalk application that consists of a couple Schema Assemblies, a pipeline Assembly, some maps, etc. I use Visual Studio 2010 to deploy this to BTS2010. My Assemblies all appear in the GAC - my schemas, my pipeline, etc. The schemas appear in the BT application, as does the pipeline. All my maps appear in the BT application.

When I go to send a message through using my custom pipeline, I get the "Failed to get pipeline" message complaining about strong names and GAC. When I don't use the pipeline and I just try and go right to the message box with a message, it complains that it can't load the doc spec for my schema and again complains about the GAC.

I have verified a few hundred times that the Assemblies are actually in the GAC and I have restarted (including stopping it altogether) the host instance a few dozen times.

Is there any other quirky thing that would make BizTalk unable to load my stuff from the GAC, even though it appears as though it's there AND I've r开发者_JS百科estarted the host instance?


Here are some things to check:

  1. Make sure that you don't have multiple copies/versions of the same assembly deployed to BizTalk or to the GAC.
  2. Verify that your assemblies are actually in the appropriate BizTalk application and/or that any parent assemblies (that create dependencies) that might be in other BizTalk applications are set as References in the BizTalk application's properties.
  3. I have found that the most reliable way to view whether or not an assembly is in the GAC is with gacutil.exe, e.g., from a Visual Studio (or Windows SDK) command prompt, use the command gacutil.exe /l. To output the results to a file, just do gacutil.exe /l > c:\gac.txt. Then you can search through the output to find your assemblies. Maybe you can manually GAC each assembly using gacutil /if assemblyname.dll. The f will force the an existing assembly to be overwritten.
  4. In the project properties for each BizTalk project in your BizTalk application, look at the Deployment properties and make sure that both Redeploy and Install to Global Assembly Cache are set to true. Also double-check that the correct Application Name and Server are set.
  5. Review your machine's Event Log to see if there might be any other errors showing up that could be occurring before the one referenced in your question.
  6. Wipe the application from BizTalk completely. Double-check that everything is removed from the GAC using gacutil.exe (as mentioned above). Also double-check that everything is removed from the BizTalk management database by going into the BizTalk Admin Console >> Applications >> All Artifacts >> Resources and ensuring that you don't have anything left there, even after deleting your Application(s) completely. After all that, deploy everything again.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜