在 BizTalk 2006 R2 上使用 .net 4.0

发布于 2024-09-07 21:53:26 字数 638 浏览 3 评论 0原文

我正在开发BizTalk 2006 R2(带有ESB指导1.0),

我最近结束了在VS 2010上使用dot net框架4.0开发新模型(Dot net模型),新模型使用4.0功能并且无法降级。 我发现GAC在新的4.0框架中发生了变化,并被放置在不同的位置(dot net Framework 4.0 中对 gac 的更改

我的一个编排使用 4.0 程序集来扩展功能。 我在 GAC(新 GAC)中注册了程序集,但我不断收到错误:

无法加载文件或程序集“MyAssembly,Version=1.0.0.0,Culture=neutral,PublicKeyToken=0177fe918f6918aa”或其依赖项之一。系统找不到指定的文件。

是否甚至可以使用 BizTalk 2006 R2 并调用 dot net 4.0 程序集(使用参考)?

聚苯乙烯 我的替代方案是将 4.0 模型公开为 WCF 服务并从 BizTalk 调用它,但我想将其保存到最后)

I am working on BizTalk 2006 R2 (With ESB guidance 1.0)

I recently ended a development of a new model (Dot net model) on VS 2010 with dot net framework 4.0, the new model uses 4.0 features and cannot be downgraded.
I have found out that the GAC was changed in the new 4.0 framework and is placed in a different location (changes to gac in dot net framework 4.0)

One of my orchestrations uses the 4.0 assembly to extend functionality.
I registered the assembly in the GAC (the new GAC) but i keep getting the error:

Could not load file or assembly 'MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0177fe918f6918aa' or one of its dependencies. The system cannot find the file specified.

Is it even possible to work with BizTalk 2006 R2 and call a dot net 4.0 assembly (using reference)?

P.S
My alternative is to expose the 4.0 model as WCF service and call it from the BizTalk but I want to save it for last)

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

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

发布评论

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

评论(2

吾性傲以野 2024-09-14 21:53:26

简单地说,不。

在 2010 版本之前,旧版本的 BizTalk Server 不了解新的 CLR 4.0 GAC,因此无法从那里加载程序集。 BizTalk Server 2010 是第一个支持 CLR 4.0 的版本。对于 BizTalk Server 2006 R2,您需要针对旧版本的 .NET Framework 编译程序集,不幸的是,这在您的场景中听起来不太可能。在这件事上你陷入了进退两难的境地。升级 BizTalk Server 或找到降级 .NET 4.0 程序集的方法。

Microsoft 每次对 .NET 框架进行版本化时都设法实现了高度的前向兼容性,但仅限于特定版本的 CLR 范围内。因此,.NET 1.1 代码几乎完全向前兼容 .NET 1.0,而 .NET 3.5 则相当向前兼容 .NET 2.0 代码(主要问题往往是旧版本编译器中缺乏某些语言功能)。然而,每次 CLR 加速时,恐怕所有的赌注都会落空。毕竟,CLR 是运行时环境。这就是为什么 Microsoft 在推出 CLR 的主要新版本之前经过深思熟虑的原因。 CLR 4.0 是自 2005 年以来的第一次重大修订。我们必须希望至少十年后 MS 才会觉得有必要再次修订 CLR。

Simply, no.

Prior to the 2010 version, older versions of BizTalk Server have no knowledge of the new CLR 4.0 GAC and cannot, therefore, load assemblies from there. BizTalk Server 2010 is the first version to support CLR 4.0. For BizTalk Server 2006 R2, you would need to compile your assembly against an older version of the .NET Framework which, unfortunately, sounds like a non-starter in your scenario. You are caught between a rock and a hard place on this one. Upgrade BizTalk Server or find a way to downgrade your .NET 4.0 assembly.

Microsoft has managed to achieve a high degree of forward compatibility each time they version the .NET framework, but only within the confines of specific versions of the CLR. So, .NET 1.1 code was almost fully forwardly compatible with .NET 1.0, and .NET 3.5 is fairly forwardly compatible with .NET 2.0 code (the main issues tend to be lack of certain language features in older versions of compilers). However, each time the CLR is revved, all bets are off, I'm afraid. The CLR is the run-time environment, after all. This is why Microsoft think long and hard before bringing out a major new version of the CLR. CLR 4.0 is the first major revision since 2005. We must hope it is at least a decade before MS feels the need to rev the CLR again.

揽清风入怀 2024-09-14 21:53:26

鉴于 Biztalk 路线图,我怀疑您需要等待 Biztalk 2010,其中的新功能之一是 .NET 4.0。据推测,Biztalk 2006 R2 正在运行 CLR v2,因此尝试加载其中的所有内容。

如果您绝对需要 .NET 4.0 的功能,您可以单独运行自己的服务器,然后通过 .NET 3.5 编写的代理层与其进行通信吗?

Given the Biztalk roadmap I suspect that you'll need to wait for Biztalk 2010, where one of the new features is .NET 4.0. Presumably Biztalk 2006 R2 is running the CLR v2, so trying to load everything there.

If you absolutely need features of .NET 4.0, can you run your own server separately, and then talk to that from a proxying layer written in .NET 3.5?

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