2009-03-25 7 views
0

Ich habe eine Zwei-Projekt-Lösung - ein Projekt enthält meine Schemas und BizTalk-Orchestrierung, und das andere enthält eine DLL, die von meiner Orchestrierung referenziert wird und diese eigentliche Arbeit erledigt (Es ist gemeinsamer Code, also gibt es keine Chance, ich kann es einfach in die BizTalk-Assembly integrieren). Die zweite Assembly wird als eine Referenz von BizTalk hinzugefügt, und ich kann die Methoden in Nr. 2 aus der Orchestrierung problemlos verweisen.Automatisch referenzierte Assembly als "Ressource" in VS2005/Biztalk 2006 bereitstellen

Wenn ich jedoch von VS -> BizTalk bereitstellen, nimmt es meine Ressourcenassembly nicht mit - es stellt nur die BizTalk-Assembly bereit. Wenn ich versuche, meine Orchestrierung auszulösen, erhalte ich den Fehler, dass die referenzierte Assembly nicht geladen werden konnte, aber sobald ich sie dem GAC und der Liste "Ressourcen" für meine BizTalk-App hinzufüge, laufen die Dinge perfekt.

Wie kann ich diese Assembly als etwas kennzeichnen, das mit meiner BizTalk-Assembly bereitgestellt werden muss? Fehle ich gerade irgendwo eine Einstellung an der Referenz?

Antwort

1

Legen Sie die folgenden Anweisungen in einer Batch-Datei und führen Sie es aus VS-Befehl

Aufforderung
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 

Sie erhalten eine MSI am Ende, die Sie importieren müssten dies Ihr Problem behebt

+0

Mein Problem ist, dass diese Dateien in meinem Einsatz nicht enthalten sind standardmäßig -. wenn ich einsetzen, Ich würde erwarten, dass alle erforderlichen Assemblies ebenfalls bereitgestellt werden, sodass die Anwendung betriebsbereit ist, und das ist einfach nicht der Fall gut - danke für deine Antwort. – SqlRyan

0

Ich glaube nicht, dass es eine Lösung aus dem Hinzufügen einer Ressource zu der BizTalk-Anwendung automatisch gibt.

Normalerweise verwende ich Skripte zur Bereitstellung in BizTalk und so füge ich Ressourcen als Teil von ihnen hinzu (aber, um fair zu sein, habe ich normalerweise mehr als 2 Assemblys); BTSTask ist das BizTalk-Befehlszeilenprogramm, das Sie das tun können (oder, wenn Sie MSBuild verwenden können Sie die „SDC tasks