2016-06-28 10 views
3

オーケストレーションでは、送信EDIメッセージにプロパティを設定しようとしています。オーケストレーションのBizTalk C#名前空間の衝突

msgEDI850(EDI.DestinationPartyName) = HelperObj.EDIParty; 

を、それがDestinationPartyNameが定義されていないと言ってチョークコンパイル時:私が書いたメッセージの割り当てで 。

エラーの詳細は、間違った名前空間で表示されていることを示しています。 C#コンパイラは、 "EDI"の代わりに "MyCompany.EDI"を探しています。

IDEコード補完により、EDI.DestinationPartyNameが有効であることが示されます。

どのレベルでもEDIを含まないようにアプリケーションの名前空間を変更しました。これは動作しません :それは自動で正しい名前空間を使用して取得コードを生成する方法について

msgEDI850(global::EDI.DestinationPartyName) = HelperObj.EDIParty; 

任意の提案ですか?

答えて

3

あなたが見ているのは、長年にわたり期待されている動作です。簡単に言えば、XLangコンパイラは、階層内のどこにあっても、名前空間が衝突すると簡単に混乱します。

申し訳ありませんが、あなたのアプリでBizTalk所有名前空間を使用することはできません。 これを回避する方法はありません。 USINGもサポートされていません。

したがって、EDI、BTS、BTS2、BizTalkなどはありません。

+0

Stackoverflowとあなたの救助に。ありがとう – Jay

+0

名前空間にEDIを持つ未使用の項目を持つアセンブリへの参照が破損します。 – Jay