自动将引用的程序集部署为“资源” 在 VS2005/Biztalk 2006 中

发布于 2024-07-15 05:53:13 字数 386 浏览 10 评论 0原文

我有一个包含两个项目的解决方案 - 一个项目包含我的架构和 BizTalk 编排,另一个项目包含一个从我的编排引用并执行实际工作的 DLL(它是共享代码,因此我不可能将其合并到BizTalk 程序集)。 第二个程序集作为 BizTalk 程序集的引用添加,我可以毫无问题地从编排中引用 #2 中的方法。

但是,当我从 VS 部署时 -> BizTalk,它不会带走我的资源程序集 - 它只是部署 BizTalk 程序集。 如果我尝试触发我的编排,我会收到一条错误,指出无法加载引用的程序集,但是一旦我将其添加到 GAC 和我的 BizTalk 应用程序的“资源”列表中,一切就会完美运行。

如何将此程序集标记为必须与我的 BizTalk 程序集一起部署的程序集? 我只是在某个地方缺少参考设置吗?

I have a two-project solution - one project contains my schemas and BizTalk orchestration, and the other contains a DLL that is referenced from my orchestration and does that actual work (it's shared code, so there's no chance I can just incorporate it into the BizTalk assembly). The second assembly is added as a reference from the BizTalk one, and I can reference the methods in #2 from the orchestration without any trouble.

However, when I deploy from VS -> BizTalk, it doesn't take my resource assembly with it - it just deploys the BizTalk assembly. If I attempt to trigger my orchestration, I'll get an error that the referenced assembly couldn't be loaded, but once I add it to the GAC and the "Resources" list for my BizTalk app, things run perfectly.

How can I flag this assembly as something that has to be deployed with my BizTalk assembly? Am I just missing a setting on the reference somewhere?

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

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

发布评论

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

评论(2

盗心人 2024-07-22 05:53:13

将以下语句放入批处理文件中,然后从 VS 命令提示符运行它,

BTSTask AddResource -Source:.\Assemblies\Schemas.DLL 
  -ApplicationName:MyApp -Type:System.BizTalk:BizTalkAssembly 
  -Options:GacOnImport,GacOnInstall -Overwrite
BTSTask AddResource -Source:.\Assemblies\Orchestrations.DLL 
  -ApplicationName:MyApp -Type:System.BizTalk:BizTalkAssembly 
  -Options:GacOnImport,GacOnInstall -Overwrite
BTSTask AddResource -Source:.\Assemblies\SharedLib.DLL 
  -ApplicationName:MyApp -Type:System.BizTalk:Assembly 
  -Options:GacOnImport,GacOnInstall -Overwrite
BTSTask ExportApp -ApplicationName:MyApp -Package:MyApp.msi

最后您会得到一个 MSI,您需要导入它!
这解决了您的问题。

Place the following statements in a batch file and run it from VS Command Prompt

BTSTask AddResource -Source:.\Assemblies\Schemas.DLL 
  -ApplicationName:MyApp -Type:System.BizTalk:BizTalkAssembly 
  -Options:GacOnImport,GacOnInstall -Overwrite
BTSTask AddResource -Source:.\Assemblies\Orchestrations.DLL 
  -ApplicationName:MyApp -Type:System.BizTalk:BizTalkAssembly 
  -Options:GacOnImport,GacOnInstall -Overwrite
BTSTask AddResource -Source:.\Assemblies\SharedLib.DLL 
  -ApplicationName:MyApp -Type:System.BizTalk:Assembly 
  -Options:GacOnImport,GacOnInstall -Overwrite
BTSTask ExportApp -ApplicationName:MyApp -Package:MyApp.msi

You get an MSI at the end, which you would need to import!
This addresses your problem.

谈下烟灰 2024-07-22 05:53:13

我不认为有自动将资源添加到 BizTalk 应用程序的解决方案。

我通常使用脚本部署到 BizTalk,因此我添加资源作为其中的一部分(但是,公平地说,我通常有两个以上的程序集); BTSTask 是 BizTalk 命令行实用程序,您可以使用它来执行此操作(或者,如果您使用的是 MSBuild,则可以使用“SDC 任务"

I don't believe there's a solution from adding a resource to the BizTalk application automatically.

I usually use scripts to deploy to BizTalk and so I add resources as part of those (but, to be fair, I usually have more than 2 assemblies); BTSTask is the BizTalk command line utility that you can use to do that (or, if you're using MSBuild you can use the "SDC tasks"

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