【问题标题】:BTSTask AddResource Fails Even with Shared Assemblies in GAC即使在 GAC 中使用共享程序集,BTSTask AddResource 也会失败
【发布时间】:2013-04-10 02:51:03
【问题描述】:

我正在尝试创建 BizTalk 应用程序 (App1) 并使用 BTSTask 命令行实用程序添加资源。一些App1 BizTalk 程序集依赖于一些SharedApp BizTalk 程序集。我使用gacutilSharedApp 程序集添加到GAC 并验证它们存在于GAC 中。当我运行 BTSTask AddResource 时,对于依赖于任何 SharedApp 程序集的任何 App1 BizTalk 程序集,该命令都会失败。

错误消息告诉我找不到特定的SharedApp dll 以供参考。我已验证SharedApp 程序集上的详细信息(名称、版本等)是否正确;它是正确的程序集并且存在于 GAC 中。

BizTalk 不应该能够检测到 GAC 中的那些 SharedApp 程序集并允许它们在我调用 AddResource 时用作参考程序集吗?

有什么想法为什么将SharedApp 程序集添加到 GAC 并没有解决我的问题?

编辑:添加命令行示例文本

BTSTask.exe AddApp -ApplicationName:App1 -Server:BTServer1 -Database:BTDatabase1 -Description:App1_instance
BTSTask.exe AddResource -ApplicationName:App1 -Source:"path_to_App1.Assembly.dll" -Destination:"destination_path_for_App1.Assembly.dll" -Type:BizTalkAssembly -Options:GacOnAdd,GacOnInstall -Overwrite -Server:BTServer1 -Database:BTDatabase1

【问题讨论】:

  • “SharedApp”程序集是 .NET 程序集还是 biztalk 程序集?另外,你能发布你的脚本吗?
  • SharedApp 程序集是 BizTalk 程序集,如前所述。

标签: command-line biztalk gac biztalk2006r2


【解决方案1】:

这是 BizTalk 2010 吗?在这种情况下,它可能与 .NET 4.0 引入的“双缓存”有关。 您可能知道,现在有 2 个全局程序集缓存,来自 2.0 GAC 的程序集不能使用 4.0 GAC 程序集。
那么也许您的 SharedApp 位于 .NET4.0 缓存中,而您要添加的资源是针对旧版本的 BizTalk 编译的?

只是大声思考,你永远不知道它是否有帮助。 干杯

【讨论】:

  • 这是 BizTalk 2006,使用 .NET 2.0,因此 4.0 GAC 没有问题。
  • 对不起,那似乎是别的东西。我过去记得的一件事是系统文件夹中的某个文件(例如隐藏的 GAC)中包含我的旧版本 dll,这些文件被使用而不是真正的 GAC 版本。可能没什么,但也许在你的 c 盘上做一个 dir /s 来搜索你的 dll,看看你是否有不应该在那里的项目。
【解决方案2】:

在深入了解我们的自动化并启用详细日志后,我能够获得更清晰的错误消息:

Error: Assembly "App1.Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxx" references the following assemblies that must be deployed before deploying this assembly: Assembly "SharedApp.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=yyyyyyyyyyyyyyyy"

在线搜索该错误后,我从a discussion post 中发现了以下内容:

如果 [a] DLL 包含 XSD (BizTalk) 架构,它也必须部署到 BizTalk 管理数据库。

显然,除了将程序集添加到 GAC 之外,还必须这样做。这就是为什么将App1 程序集添加到我的应用程序会失败的原因;虽然我将SharedApp BizTalk 程序集添加到了 GAC,但 BizTalk 管理数据库中也需要它们。

感谢那些关注这个问题的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    相关资源
    最近更新 更多