次の方法で共有


タスクリストにおけるビルドエラー

プロジェクトまたはソリューションをビルドすると、結果が出力ウィンドウに表示され、個々のエラーと警告がタスクリストに表示されます。

タスク 一覧にエラーと警告が表示されます。 エラーをダブルクリックすると、正しく構成されていないオブジェクトにフォーカスが適用されます。

ビルド時に、コンパイラは XPath を検証しません。 有効な XPath 構文を使用するように注意してください。

構成が不十分なアクション

不十分な構成アクションを表すアイコンを示す画像。

注意事項

オーケストレーション デザイナーは、可能な限り十分な構成警告を提供しませんが、そのような警告がない場合にオーケストレーションが正しくコンパイルされる保証はありません。

アセンブリ参照が見つからないかどうかをコンパイラが確認する

問題

オーケストレーションをコンパイルすると、"アセンブリ参照がありませんか?" という質問で終わるエラー メッセージが表示されます。より一般的なメッセージの 2 つを次に示します。

  • 型または名前空間名 'X' が名前空間 'Y' に存在しません (アセンブリ参照がありませんか?

  • 識別子 'X' は 'Y' に存在しません。アセンブリ参照がありませんか?

原因

このエラーの原因として、次のいずれかが考えられます。

  • プロジェクトが 1 つ以上の必要なアセンブリを参照していません。

  • プロジェクトに、プロジェクトと同じ名前のマップまたはその他のオブジェクトの種類があります。

  • プロジェクトでは、XML スキーマ定義言語 (XSD) ベースのパートナー インターフェイス プロセス (PIP) スキーマを使用し、System という名前のサブフォルダーに XSD スキーマが含まれています。

  • プロジェクトでは、現在のプロジェクトの名前空間のサブセットである名前空間を持つグローバル プロパティを使用しています。 たとえば、プロジェクト "Accounts.FILE" に含まれるオーケストレーションで、グローバル プロパティ名前空間 "File.ReceivedFileName" を使用します。

解決策

問題の原因に応じて、解決策は次のいずれかになります。

  • プロジェクトに必要な不足しているアセンブリへの参照を追加します。

  • マップまたはその他のオブジェクトの名前をプロジェクト名以外の名前に変更します。 これは通常、オブジェクトのプロパティ ページ (たとえば、マップ プロパティ ページに Name プロパティが含まれている) を使用して行うことができます。

  • Visual Studio でスキーマの名前空間を変更します。 Visual Studio を使用してこれを行うには、[プロジェクト] メニューの [すべてのファイルを表示] をクリックし、ソリューション エクスプローラーで [システム] ノードを展開します。 [システム] フォルダーとサブフォルダー内の各ファイルをクリックし、[プロパティ] ウィンドウの名前空間エントリを変更して 、System が発生するたびに _System になるようにします。 たとえば、 MyProject.System.SubFolder 名前空間を MyProject._System.Subfolder 名前空間に変更します。 この問題に関する詳細については、サポート技術情報の記事 916649 を参照してください。

  • 競合するグローバル プロパティ名前空間をプロジェクトから削除します。

プロジェクトのビルド時に"メッセージがコンストラクト ステートメントで初期化されていません" というエラーが表示される

問題

BizTalk アプリケーションをコンパイルすると、"メッセージが construct ステートメントで初期化されていません" というエラーが表示されます。

原因

メッセージを作成するときは、すべてのメッセージ変数を指定します。 次に、メッセージまたはその部分に割り当てを行います。 特定のメッセージ割り当ての一部が別の メッセージ構築 図形に含まれている場合は、初期化エラー メッセージが表示されることがあります。

解決策

この動作を解決するには、特定のメッセージ割り当てのすべての部分を同じ [メッセージの構築] 図形に含めるようにします。

インスタンスをExpression図形で使用する前にConstruct図形でメッセージを作成することによって、この動作を解決することもできます。 たとえば、次のコードでは、 図形に配置するとエラーが発生します。

XMLDOM = new System.Xml.XmlDocument();
POAckMsg = XMLDOM;

修正するには、 コンストラクト 図形に XMLDOM のインスタンスを作成し、下流の 図形で割り当てを行います。

プロジェクトのビルド時に "非構造化メッセージの使用" エラーが表示される

問題

BizTalk プロジェクトをコンパイルすると、"非構造化メッセージ '<message>' の使用" というエラーが表示されます。

原因

このエラーは、 送信図形で 非構造化メッセージが使用されている場合に発生します。

解決策

この問題を解決するには、オーケストレーションに メッセージ構築 図形を追加します。 Web サービスにバインドされている送信図形の前に、メッセージの構築図形を含めます。

スコープのトランザクション レベルを設定するとエラーが発生する

問題

オーケストレーション内のトランザクションをサポートするスコープまたはその他のエンティティのトランザクションの種類を構成すると、"非トランザクション オーケストレーションに他のトランザクションを含めることはできません" というエラーが表示されます。

原因

このエラーは、オーケストレーション自体のトランザクションの種類が "None" の場合に、オーケストレーション内のスコープ (または他のエンティティ) のトランザクションの種類を "Atomic" または "Long-Running" に構成しようとすると発生します。

解決策

オーケストレーションと構成オブジェクトのトランザクションの種類の設定に互換性があることを確認します。

プロジェクト ビルドの結果として、"非自己相関ポート上にある非アクティブ化受信に対して、既に初期化済みの関連付けセットを少なくとも 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# キーワード の一覧を参照してください。

オーケストレーションのコンパイル時に "無効なプロパティ値" エラーが表示される

問題

オーケストレーションをビルドするときに、エラー ダイアログ "プロパティ値が無効です" が表示されます。

原因

ソリューション内の 1 つ以上のオブジェクトの名前は、別のオブジェクトと同じです。 たとえば、メッセージ名はポート名と同じです。

解決策

ソリューション内のすべてのオブジェクトに一意の名前が付けられていることを確認します。 名前付け規則に従うことで、このエラーのリスクを最小限に抑えることができます。

こちらもご覧ください

オーケストレーションを構築する方法