実行可能ファイル プロジェクトによって一致しない実行可能ファイルが参照されたときに生成されるエラー

一般に、実行可能ファイル プロジェクトでは、他の実行可能ファイル プロジェクトではなく、ライブラリ プロジェクトが参照されます。 実行可能ファイル プロジェクトでは、別の実行可能ファイル プロジェクトを参照し、そこで定義されている API を使用することもできます。 開発者によっては、別の実行可能ファイル プロジェクトから実行可能ファイル プロジェクトを参照し、両方のアプリが同じ出力フォルダーに配置されて、そこから実行できるようにすることが必要になる場合があります。 ただし、自己完結型の実行可能ファイルで非自己完結型の実行可能ファイルを参照する場合、またはその逆の場合は、このシナリオは機能しません。 アプリケーション ホストの動作方法のため、どちらのアプリも起動できません。 アプリが実行できない状況を回避するため、.NET SDK 5 以降では、一致しない実行可能ファイルの参照を検出するコンパイル時エラー NETSDK1150 と NETSDK1151 が生成されます。

変更内容

以前のバージョンの .NET SDK では、非自己完結型の実行可能ファイル プロジェクトから自己完結型の実行可能ファイル プロジェクトを参照しても、ビルド エラーは発生しませんでした。 ただし、どちらのアプリも実行できませんでした。 .NET SDK 5 以降では、実行可能ファイル プロジェクトで別の実行可能ファイル プロジェクトが参照されていて、SelfContained の値が一致しない場合、エラーが生成されます。

導入されたバージョン

.NET SDK 5.0.300

変更理由

このエラーは、両方のアプリケーションを起動できるようにしたくても、それができない状況を防ぐために導入されました。

参照されているプロジェクトを出力フォルダーから実行可能にする必要がない場合は、プロパティを設定して、このエラー チェックを回避できます。

<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>

詳細については、ValidateExecutableReferencesMatchSelfContained に関する記事を参照してください。

影響を受ける API

なし。