2010-06-27 23 views
1

Je travaille sur BizTalk Server 2006 R2 (avec des conseils ESB 1.0)Travailler avec .NET 4.0 sur BizTalk Server 2006 R2

J'ai récemment fini un développement d'un nouveau modèle (modèle Dot net) sur VS 2010 avec le cadre dot net 4.0, le nouveau modèle utilise les fonctionnalités 4.0 et ne peut pas être déclassé. J'ai découvert que le GAC a été modifié dans le nouveau framework 4.0 et placé dans un emplacement différent (changes to gac in dot net framework 4.0)

Une de mes orchestrations utilise l'assembly 4.0 pour étendre les fonctionnalités. Je me suis inscrit l'assemblée dans le GAC (le nouveau GAC), mais je continue à obtenir l'erreur:

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.

Est-il même possible de travailler avec BizTalk Server 2006 R2 et appeler un point net 4,0 assemblage (en utilisant la référence)?

PS Mon alternative est d'exposer le modèle 4.0 comme service WCF et l'appeler de la BizTalk mais je veux l'enregistrer pour le dernier)

Répondre

1

Compte tenu de la Biztalk roadmap je suspect que vous aurez besoin d'attendre pour Biztalk 2010, où l'une des nouvelles fonctionnalités est .NET 4.0. Vraisemblablement, Biztalk 2006 R2 lance le CLR v2, essayant de tout charger là-bas.

Si vous avez absolument besoin des fonctionnalités de .NET 4.0, vous pouvez exécuter votre propre serveur séparément, puis parler que d'une couche de mandatement écrit en .NET 3.5?

+0

Je pense que je vais aller avec la solution WCF (appelant mon clr 4.0 après je l'ai déformé avec WCF) –

3

Simplement, non.

Avant la version 2010, les anciennes versions de BizTalk Server ont aucune connaissance du nouveau CLR 4.0 GAC et ne peut pas, par conséquent, des ensembles de charge à partir de là. BizTalk Server 2010 est la première version à prendre en charge CLR 4.0. Pour BizTalk Server 2006 R2, vous devez compiler votre assembly par rapport à une version plus ancienne du .NET Framework qui, malheureusement, sonne comme un non-démarreur dans votre scénario. Vous êtes pris entre un rocher et un endroit difficile sur celui-ci. Mettez à niveau BizTalk Server ou trouvez un moyen de rétrograder votre assembly .NET 4.0.

Microsoft a réussi à atteindre un degré élevé de compatibilité avant chaque fois qu'ils la version du framework .NET, mais seulement dans les limites des versions spécifiques du CLR. Ainsi, le code .NET 1.1 était presque entièrement compatible avec .NET 1.0, et .NET 3.5 est assez directement compatible avec le code .NET 2.0 (les problèmes principaux ont tendance à être l'absence de certaines fonctionnalités de langage dans les anciennes versions de compilateurs). Cependant, chaque fois que le CLR est révolté, tous les paris sont désactivés, j'en ai peur. Le CLR est l'environnement d'exécution, après tout. C'est pourquoi Microsoft réfléchit longuement avant de sortir une nouvelle version majeure du CLR. CLR 4.0 est la première révision majeure depuis 2005. Nous devons espérer qu'il faudra attendre au moins une décennie avant que MS ne ressente le besoin de revoir le CLR.