タスク一覧のビルド エラー
プロジェクト (ソリューション) をビルドすると、個別のエラーおよび警告がタスク一覧に表示され、結果は出力ウィンドウに表示されます。
エラーおよび警告は、タスク一覧に表示されます。 エラーをダブルクリックすると、正しく構成されていないオブジェクトにフォーカスが移動します。
Note
ビルドを行うとき、コンパイラは XPath を検証しないため、 有効な XPath 構文を使用してください。
不十分な構成の操作
注意事項
オーケストレーション デザイナーでは状況に応じて不十分な構成の警告が発生しますが、この警告が発生しないからといってオーケストレーションが正しくコンパイルされるという保証はありません。
コンパイラによるアセンブリ参照の確認
問題
オーケストレーションをコンパイルすると、"アセンブリ参照があるか確認してください" で終わるエラー メッセージが表示されます。以下の 2 つが一般的なメッセージです。
型または名前空間名 'X' は名前空間 'Y' に存在しません。アセンブリ参照が不足しています。
識別子 'X' は 'Y' に存在しません。アセンブリ参照があるか確認してください。
原因
次のいずれかが原因で、このエラーが発生します。
プロジェクトは 1 つ以上の必要なアセンブリを参照していません。
プロジェクトに、プロジェクトと同じ名前のマップまたはその他のオブジェクトの種類が存在します。
プロジェクトは XSD (XML スキーマ定義) 言語ベースの PIP (Partner Interface Process) スキーマを使用し、System という名前のサブフォルダーに XSD スキーマが含まれています。
プロジェクトは、名前空間が現在のプロジェクトの名前空間のサブセットになっているグローバル プロパティを使用しています。 たとえば、プロジェクト "Accounts.FILE" に含まれているオーケストレーションでグローバル プロパティ名前空間 "File.ReceivedFileName" を使用しています。
解決方法
問題の原因に応じて、次の解決策があります。
欠落しているアセンブリへの参照をプロジェクトに追加します。
マップまたは他のオブジェクトの名前を、プロジェクト名とは異なる名前に変更します。 これは通常、オブジェクトのプロパティ ページで実行できます (たとえば、マップのプロパティ ページには、"名前" プロパティが含まれています)。
Visual Studio でスキーマの名前空間を変更します。 Visual Studio を使用してこれを行うには、[プロジェクト] メニューの [すべてのファイルを表示] をクリックし、ソリューション エクスプローラーの [システム] ノードを展開します。 System フォルダーとサブフォルダー内の各ファイルをクリックし、プロパティ ウィンドウの名前空間エントリを変更して、System が発生するたびに _System になるようにします。 たとえば、 MyProject.System.SubFolder 名前空間を MyProject._System.Subfolder 名前空間に変更します。 この問題の詳細については、サポート技術情報の記事 「916649」を参照してください。
プロジェクトから、競合するグローバル プロパティ名前空間を削除します。
プロジェクトのビルド時に発生する "メッセージは construct ステートメントで初期化されていません" エラー
問題
BizTalk アプリケーションをコンパイルすると、"メッセージがコンストラクト ステートメントで初期化されていません" というエラーが表示されます。
原因
メッセージを作成するときに、すべてのメッセージ変数を指定します。 次に、メッセージまたはその部分に割り当てを行います。 特定のメッセージ割り当ての一部が別の メッセージ構築 図形に含まれている場合は、初期化エラー メッセージが表示されることがあります。
解決方法
この動作を解決するには、特定のメッセージ割り当てのすべての部分を同じ メッセージ構築 図形に含めるようにします。
また、式図形でメッセージのインスタンスを使用する前に、コンストラクト 図形にメッセージを作成することで、この動作を解決することもできます。 たとえば、次のコードでは 、式 図形に配置するとエラーが発生します。
XMLDOM = new System.Xml.XmlDocument();
POAckMsg = XMLDOM;
修正するには、 コンストラクト 図形に XMLDOM のインスタンスを作成し、ダウンストリームの 式 図形で割り当てを行います。
プロジェクトのビルド時に発生する "未構築のメッセージが使用されました" エラー
問題
BizTalk プロジェクトをコンパイルすると、"非構造化メッセージ 'message>'< の使用" というエラーが表示されます。
原因
このエラーは、 送信 図形で非構造化メッセージが使用されている場合に発生します。
解決方法
この問題を解決するには、オーケストレーションに メッセージの構築 図形を追加します。 Web サービスにバインドされている送信図形の前にメッセージの構築図形を含めます。
スコープのトランザクション レベルを設定すると、エラーが発生します
問題
オーケストレーション内のスコープまたはトランザクションをサポートするその他のエンティティのトランザクションの種類を構成した後に、"トランザクションでないオーケストレーションに他のトランザクションを含めることはできません" というエラーが表示されます。
原因
このエラーは、オーケストレーション自体のトランザクションの種類が "なし" である場合に、オーケストレーション内のスコープ (またはその他のエンティティ) のトランザクションの種類を "アトミック" または "長時間トランザクション" に構成しようとすると発生します。
解決方法
オーケストレーションと構成要素であるオブジェクトのトランザクションの種類の設定が互換することを確認します。
プロジェクトのビルドによって発生する "自己関連付けを行わないポート上での非アクティベーション受信に対して、既に初期化されている関連付けセットを少なくとも 1 つ指定する必要があります" エラー
問題
BizTalk プロジェクトをコンパイルすると、"自己関連付けを行わないポート上での非アクティベーション受信に対して、既に初期化されている関連付けセットを少なくとも 1 つ指定する必要があります" というエラーが表示されます。
原因
このエラーは、オーケストレーションに 受信 図形のアクティブ化がない (アクティブ化 = true) か、 受信図形の アクティブ化がなく、別のオーケストレーションによって直接呼び出されない場合に発生する可能性があります。
解決方法
オーケストレーションが別のオーケストレーションによって呼び出されない場合は、 いずれかの受信 図形をアクティブ化された受信として構成する必要があります。 関連付けへのリンクなど、 受信 図形の構成の詳細については、「 受信図形を構成する方法」を参照してください。
ソリューションをビルドするときに、"アセンブリの生成に失敗しました -- 参照アセンブリ '<assembly>' に厳密な名前がありません" というエラーが表示される
問題
オーケストレーションを含むソリューションをビルドするときに、"アセンブリの生成に失敗しました -- 参照アセンブリ '<assembly>' に厳密な名前がありません" というエラーが表示されます。
原因
この問題は、署名されていない参照アセンブリの型がオーケストレーション内で使用されている場合に発生します。
解決方法
参照アセンブリに厳密な名前を適用します。 このアセンブリが再コンパイル可能なカスタム アセンブリである場合は、厳密名ツールを使用して .snk (キー) ファイルを作成してから、プロジェクトのアセンブリ プロパティ内でそのキー ファイルを参照します。 アセンブリの厳密な名前付けの詳細については、「厳密 な名前のアセンブリ キー ファイルを構成する方法」を参照してください。
オーケストレーションの展開時に発生する "リソースの追加に失敗しました。 一部のリソースに対する変更要求に失敗しました。" エラー
問題
オーケストレーションを展開するときに、次のようなエラーが表示され、オーケストレーションの展開は失敗します。
Failed to add resource(s). Change requests failed for some resources. BizTalkAssemblyResourceManager failed to complete end type change request. Object reference not set to an instance of an object.
原因
このエラーは、オーケストレーションに、C# キーワードを使用するオブジェクトが含まれている場合に発生する可能性があります。
解決方法
オーケストレーションから C# キーワードをすべて削除します。 詳細については、C# キーワード (keyword)の一覧を参照してください。
オーケストレーションのコンパイル時に発生する "無効なプロパティ値" エラー
問題
オーケストレーションをビルドしているときに、"無効なプロパティ値" エラー ダイアログが表示されます。
原因
ソリューション内の 1 つ以上のオブジェクトが別のプロジェクトと同じ名前になっています。 たとえば、メッセージ名がポート名と同じになっています。
解決方法
ソリューション内のすべてのオブジェクトの名前が一意であることを確認します。 名前付け規則に従うことで、このエラーの発生を最小限に抑えることができます。