首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使使用GAC中的共享程序集,BTSTask AddResource也会失败。

即使使用GAC中的共享程序集,BTSTask AddResource也会失败。
EN

Stack Overflow用户
提问于 2013-04-10 02:51:03
回答 2查看 1.3K关注 0票数 1

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

错误消息告诉我,无法找到特定的SharedApp dll以供参考。我已经核实了细节(姓名、版本等)。在SharedApp程序集上是正确的;它是正确的程序集,并存在于GAC中。

BizTalk不应该检测到GAC中的SharedApp程序集并允许它们在调用AddResource时用作引用程序集吗?

对于为什么将SharedApp程序集添加到GAC中没有解决我的问题,有什么想法吗?

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

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-16 20:19:01

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

代码语言:javascript
复制
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"

在对该错误进行在线搜索后,我从讨论帖子中发现了以下内容:

如果DLL包含XSD ( BizTalk )架构,则还必须将其部署到BizTalk管理数据库。

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

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

票数 0
EN

Stack Overflow用户

发布于 2013-04-12 08:09:57

这是BizTalk 2010吗?在这种情况下,这可能与.NET 4.0引入的“双缓存”有关。您可能知道,现在有两个全局程序集缓存,来自2.0GAC的程序集不能使用4.0 GAC程序集。

所以,您的SharedApp可能在.NET4.0缓存中,您要添加的资源是针对旧版本的BizTalk编译的吗?

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15916089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档