更新:2007 年 11 月
此警告对话框指示编译器没有完全理解程序,重构引擎可能没有更新所有合适的引用。此警告对话框还为您提供了在提交更改之前在“预览更改”对话框中预览代码的机会。
说明: |
|---|
如果方法中包含语法错误(IDE 以红色波浪下划线指示该错误),则重构引擎将不会更新该方法中对元素的任何引用。下面的示例阐释了此行为。 |
默认情况下,如果执行重构操作而不预览引用更改,并且在程序中检测到编译错误,则开发环境将显示此警告对话框。
如果执行已启用“预览引用更改”的重构操作,并在程序中检测到编译错误,则开发环境将在“预览更改”对话框的底部显示下面的警告消息,以替代“重构警告”对话框:
当前未生成项目或其中一个依赖项。可能未更新引用。
此重构警告只可用于提供“预览引用更改”选项的重构操作,该选项在下列重构对话框中可用:
每次显示此对话框
默认情况下此选项处于选中状态。如果选择此选项,则当在执行重构操作的过程中检测到编译错误时,将继续显示“重构警告”对话框。清除此复选框将对以后的重构操作禁用此警告对话框。如果要清除此复选框,然后再为将来的重构操作重新启用此警告对话框,则请在“选项”对话框 ->“文本编辑器”->“C#”->“高级”中选择“如果在重构时存在生成错误则发出警告”选项。
继续
继续当前的重构操作,而不预览引用更改。预览
打开“预览更改”对话框,以便可以预览代码。取消
取消当前的重构操作。代码中将不发生任何更改。
示例
下面的代码示例阐释重构引擎不更新引用的情况。如果使用重构将 example 重命名为其他名称,则 ContainsSyntaxError 中的引用将不会更新,而其他两个引用将被更新。
public class Class1
{
static int example;
static void ContainsSyntaxError()
{
example = 20
}
static void ContainsSemanticError()
{
example = "Three";
}
static void ContainsNoError()
{
example = 1;
}
}
说明: