更新 : 2007 年 11 月
この警告ダイアログ ボックスは、コンパイラがプログラムを完全に理解できなかったこと、およびリファクタリング エンジンがすべての当該参照を更新できなかった可能性があることを示します。また、この警告ダイアログ ボックスには、変更をコミットする前に、[変更のプレビュー] ダイアログ ボックスでコードをプレビューするための機能も用意されています。
![]() |
---|
メソッドに構文エラー (IDE で赤い波線で示されている部分) がある場合、リファクタリング エンジンでは、そのメソッドの要素への参照は更新されません。この動作を次の例に示します。 |
既定では、参照の変更をプレビューせずにリファクタリング操作を実行し、プログラムでコンパイル エラーが検出されると、開発環境によってこの警告ダイアログ ボックスが表示されます。
[参照の変更のプレビュー] が有効であるリファクタリング操作を実行し、プログラムでコンパイル エラーが検出されると、[リファクタリングの警告] ダイアログ ボックスが表示される代わりに、[変更のプレビュー] ダイアログ ボックスの下部に次の警告メッセージが表示されます。
プロジェクトまたはその依存関係の 1 つが現在ビルドしません。参照が更新されない場合があります。
このリファクタリング警告は、[参照の変更のプレビュー] が用意されているリファクタリング操作だけで表示されます。具体的には、次のリファクタリング ダイアログ ボックスのリファクタリング操作です。
[毎回このダイアログを表示する]
このオプションの既定値はオンです。オンにした場合、リファクタリング操作中にコンパイル エラーが検出されると、[リファクタリングの警告] ダイアログ ボックスが表示され続けます。このチェック ボックスをオフにした場合、その後のリファクタリング操作でこの警告ダイアログ ボックスは無効になります。このチェック ボックスをオフにしてから、その後のリファクタリング操作でこの警告ダイアログ ボックスをもう一度有効にするには、[詳細] ([オプション] ダイアログ ボックス - [テキスト エディタ] - [C#])の [リファクタリングのときにビルド エラーが存在する場合は警告する] チェック ボックスをオンにします。
[続行]
参照の変更をプレビューせずに、現在のリファクタリング操作を継続します。[プレビュー]
コードをプレビューするために、[変更のプレビュー] ダイアログ ボックスを開きます。[キャンセル]
現在のリファクタリング操作をキャンセルします。コードは変更されません。
例
リファクタリング エンジンによって参照が更新されない場合のコード例を次に示します。リファクタリングを使用して example を別の名前に変更しても、ContainsSyntaxError 内の参照は更新されません。その他の 2 つの参照は更新されます。
public class Class1
{
static int example;
static void ContainsSyntaxError()
{
example = 20
}
static void ContainsSemanticError()
{
example = "Three";
}
static void ContainsNoError()
{
example = 1;
}
}