我有一個CA2000警告的小問題。在我設置爲啓動項目的項目中,我收到了這個警告,儘管它不應該發生。代碼分析警告CA2000不應該出現
背景:我在Visual Studio 2010中使用.NET 3.5中的項目。啓動項目是一個WPF應用程序。
在類應用程序如下所示:
public partial class App : System.Windows.Application {
/// <summary>
/// Application Entry Point.
/// </summary>
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
public static void Main() {
AutoTester.App app = new AutoTester.App();
app.Run();
}
}
警告說:
警告1個CA2000:Microsoft.Reliability:在方法 'App.Main()',叫了System.IDisposable。在所有對它的引用超出範圍之前,在對象'app'上處理。 C:\ Projects \ Freelance \ svn \ AutoTester \ Application \ Applications \ AutoTester \ obj \ x86 \ Debug \ App.g.cs 47 AutoTester
可以看到,警告發生在App.g.cs中是一個自動生成的文件。在項目屬性中,我已經停用了自動生成文件的代碼分析。 「從自動生成的代碼中獲得結果」。因此,這個警告不應該發生,對吧?
現在我的問題是,我不能在本地壓制警告,因爲代碼將被重寫。另外,我不想在全球範圍內製定規則,因爲我不想停用CA2000。
有沒有人遇到類似的問題或任何想法這裏怎麼了?
祝, 基督教
啊聽起來很有趣。然而,這個文件是由VisualStudio創建的,這仍然很奇怪。這是當你創建一個新的項目(WPF應用程序)時會發生什麼。我認爲微軟應該使用GeneratedCodeAttribute。我將嘗試創建另一個WPF項目並查看會發生什麼。 – Christian 2011-02-15 09:40:15