3

カスタムXSLTパスファイルを使用するマップがBizTalk2010にあります。

Visual Studioの.xslファイルの変換に変更を加えたら、組み込みのツールを使用してマップファイルをテストします(.btmファイルを右クリックして[マップのテスト]を選択します)。

これはすべて期待どおりに機能し、VisualStudioで必要な出力ファイルを生成します。

ただし、アセンブリをBizTalkに展開すると、変換の変更が反映されていないことがわかります。ホストインスタンスを再起動したり、アクティブなインスタンスを終了したりしても、問題は解決しません。

変更がBizTalkに反映されないのはなぜですか?

4

3 に答える 3

5

これはVisualStudioの煩わしさであることに同意しました。

私にとって最も効果的なのは、マッププロジェクトで「すべてのファイルを表示」してファイルが表示されるようにしてから、変更されたマップに関連付けられて.btm.csいるファイルを削除することです。.btm.cs再構築すると、VSは.btm.csファイルを再生成し、新しいxsltをプルスルーします。

于 2013-03-02T06:11:34.177 に答える
1

BizTalkマップファイル自体(.btm)がコンパイルされます。変換を変更すると、実際には.xslファイルのみが編集されるため、VisualStudioはアセンブリを再コンパイルする必要があることを認識しません。

この問題を解決するには、.btmファイルも編集されていることを確認する必要があります。これにより、ロット全体が強制的に再コンパイルされます。

BizTalk 2009では、.btmファイルを開き、Ctrl+Sを押してマップを保存するだけで、ファイルの基になるXMLのタイムスタンプが更新されるため、うまくいくように見えました。

ただし、BizTalk 2010では、タイムスタンプが存在しなくなったため、これは機能していないようです。このブログのコメントで示唆されているように、再コンパイルを強制する最も簡単な方法は、カスタム.xslファイルへの参照を削除してから再度追加することです。

再構築を実行することでうまくいくという提案もありますが、私は個人的にその方法で成功していません。

于 2013-03-01T11:20:26.730 に答える
0

BizTalk 2010では、マップの[プロパティ]ウィンドウの[カスタムXSLTパス]で使用するXSLTへのパスを簡単に再貼り付けることができます。以前と同じファイルを使用している場合でも、これはタッチとしてカウントされるようです。

于 2013-07-24T15:33:46.220 に答える