BizTalk 看不到我的任何 GAC 程序集

发布于 2024-11-08 19:53:08 字数 444 浏览 10 评论 0原文

各位, 我意识到这可能看起来像常见的“您没有重新启动主机实例”问题......但还有更多问题。我有一个 BizTalk 应用程序,由几个架构程序集、一个管道程序集、一些映射等组成。 我使用 Visual Studio 2010 将其部署到 BTS2010。我的程序集全部出现在 GAC 中 - 我的架构、我的管道等。架构和管道一样出现在 BT 应用程序中。我的所有地图都出现在 BT 应用程序中。

当我使用自定义管道发送消息时,我收到“无法获取管道”消息,抱怨强名称和 GAC。当我不使用管道而只是尝试直接转到包含消息的消息框时,它会抱怨无法加载我的架构的文档规范,并再次抱怨 GAC。

我已经验证了数百次,程序集实际上位于 GAC 中,并且我已重新启动(包括完全停止)主机实例数十次。

是否有任何其他奇怪的事情会导致 BizTalk 无法从 GAC 加载我的内容,即使它看起来好像在那里并且我已经重新启动了主机实例?

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 restarted the host instance?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

め七分饶幸 2024-11-15 19:53:08

以下是需要检查的一些事项:

  1. 确保没有将同一程序集的多个副本/版本部署到 BizTalk 或 GAC。
  2. 验证您的程序集实际上位于适当的 BizTalk 应用程序中,和/或可能位于其他 BizTalk 应用程序中的任何父程序集(创建依赖项)是否在 BizTalk 应用程序的属性中设置为“引用”。
  3. 我发现查看程序集是否在 GAC 中的最可靠方法是使用 gacutil.exe,例如,在 Visual Studio(或 Windows SDK)命令提示符下,使用命令 gacutil.exe /l。要将结果输出到文件,只需执行 gacutil.exe /l > c:\gac.txt。然后您可以搜索输出以找到您的程序集。也许您可以使用 gacutil /if assemblyname.dll 手动 GAC 每个程序集。 f 将强制覆盖现有程序集。
  4. 在 BizTalk 应用程序中每个 BizTalk 项目的项目属性中,查看“部署”属性并确保“重新部署”和“安装到全局程序集缓存”都设置为 正确。还要仔细检查是否设置了正确的应用程序名称服务器
  5. 查看计算机的事件日志,看看是否可能出现任何其他错误,这些错误可能在您的问题中提到的错误之前发生。
  6. 从 BizTalk 中完全擦除应用程序。使用 gacutil.exe 仔细检查所有内容是否已从 GAC 中删除(如上所述)。还可以通过进入 BizTalk 管理控制台>>仔细检查所有内容是否已从 BizTalk 管理数据库中删除。应用>>所有文物>>资源并确保即使在完全删除您的应用程序之后,您也没有留下任何东西。之后,再次部署所有内容。

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.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文