次の方法で共有


MSBuild で GetType() の呼び出しがサポートされなくなった

MSBuild 17 では、プロパティ関数内での GetType() インスタンス メソッドの呼び出しがサポートされなくなりました。 このメソッドは、評価中に予期しないコードの実行を許可し、Visual Studio のハングを引き起こす可能性があります。

導入されたバージョン

.NET SDK 6.0.100-rc1

以前の動作

GetType() MSBuild プロパティ関数の呼び出しが実行され、Visual Studio で予期しない動作が発生する場合があります。

新しい動作

.NET 6 SDK 以降では、MSBuild プロパティ関数で GetType() を呼び出すと、プロジェクトの評価中に次のコンパイル時エラーが表示されます。

型 "System.String" の関数 "GetType" は、MSBuild プロパティ関数として実行できません。

カテゴリの変更

この変更は ソースの互換性に影響します。

変更の理由

この機能は文書化されていないか、一般的に使用されていません。 プロジェクトの読み込み (特に Visual Studio) でパフォーマンスと信頼性の問題が発生しました。

このパターンの唯一の既知の一般的な用途は、非推奨となった CBT システムでした。

GetType()の呼び出しを別の MSBuild ロジックに置き換えます。

影響を受ける API

なし