0

2 つのプロジェクト ソリューションがあります。1 つのプロジェクトにはスキーマと BizTalk オーケストレーションが含まれ、もう 1 つのプロジェクトにはオーケストレーションから参照されて実際の作業を行う DLL が含まれています (これは共有コードであるため、単純にプロジェクトに組み込むことはできません)。 BizTalk アセンブリ)。2 番目のアセンブリは BizTalk アセンブリからの参照として追加され、問題なくオーケストレーションから #2 のメソッドを参照できます。

ただし、VS -> BizTalk から展開すると、リソース アセンブリは取り込まれず、BizTalk アセンブリが展開されるだけです。オーケストレーションをトリガーしようとすると、参照されているアセンブリを読み込めないというエラーが表示されますが、それを GAC と BizTalk アプリの "リソース" リストに追加すると、問題なく動作します。

このアセンブリに、BizTalk アセンブリと共に展開する必要があるものとしてフラグを付けるにはどうすればよいですか? どこかで参照の設定が欠落しているだけですか?

4

2 に答える 2

1

次のステートメントをバッチ ファイルに配置し、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 を取得します。これをインポートする必要があります。これはあなたの問題に対処します。

于 2009-03-27T23:00:39.277 に答える
0

BizTalkアプリケーションにリソースを自動的に追加することによる解決策はないと思います。

私は通常、スクリプトを使用してBizTalkに展開するため、それらの一部としてリソースを追加します(ただし、公平を期すために、通常は2つ以上のアセンブリがあります)。BTSTaskは、これを行うために使用できるBizTalkコマンドラインユーティリティです(または、MSBuildを使用している場合は、「SDCタスク」を使用できます。

于 2009-03-26T14:13:36.677 に答える