2016-09-05 7 views
0

VS-2012からVS-2015にアップグレードされました。私のすべてのプロジェクト(CSharpライブラリ)は、警告レベル4(最高レベル)でコンパイルされるように設定されています。バックVS-2012の私のプロジェクトの一つで、私はタイプの2つの警告Visual Studio 2015警告がトリガーされない

私はこの警告を期待していこれらは内部リファクタリングの結果であり、別の第三者コンポーネントに切り替えるためにトリガされます。私にとっては、これらの警告は実際にToDo'sが世話をしなければならないことを示しているので重要です。

ただし、これらの警告はトリガされず、[エラーリスト]ビューには表示されません。

はい、実際のToDoのコメントはそこに現れますが、私は知っている場所については心配しませんが、将来のリファクタリングで終わる可能性のある場所は、 VSが警告を発しないために。

上記のMSDNのドキュメントとVSの設定可能な警告レベルからわかるように、私はVSまたはプロジェクト自体を構成する必要があります。

根本的な "Roslyn"コンパイラが意味解析に基づいてこれらの警告を検出できない(まだ)のですか?あるいは私は何か他のものを逃していますか

さらにいくつかの情報を提供するには、[編集]

。私は2012年と2015年の両方で再構築ソリューションを使用します。プロジェクトの再構築が不足しているため、公開されていない警告の理由にはなりません。

タイプ

は、VS-2012 VS-2015の両方で

を示している編集2

小さなコード例です(新しいプロジェクト - >クラスライブラリを作成するだけです)。興味深いのは、最初にプロジェクトを作成したときに、VS-2012とVS-2015の両方で警告が発生したことです。そのため、私の現在のケースを見て違いがどこにあるのかを確認しました。クラスをabstractとすると、警告を発行しないVS-2015の結果が返されます。クラスが抽象クラスでない場合、VS-2015はVS-2012のように警告します。しかし、私の目では、フィールドが抽象であるというケースは、フィールドがプライベートであると宣言されているので、問題ではありません。

// When the class is being marked as abstract, VS-2015 will not issue any warning. 
// When the class is not abstract the warnings are issued. 
public abstract class Demonstrator 
{ 
    // This should trigger warning CS0169 Warning Level 2 
    private int _UnusedField; 

    // This should trigger warning CS0414 Warning Level 4 
    private int _AssignedButNotReadField; 

    public Demonstrator() 
    { 
     _AssignedButNotReadField = 1; 
    } 
} 
+1

「Rebuild Solution」を試しましたか? –

+0

@PhillipNgan:はい、再構築をトリガーしました;-) – Tobias

+0

警告タブは有効になっていますか? (強調表示されている) – Mixxiphoid

答えて

0

だから、私はロスリンのGitHubのリポジトリにその上の問題を開いて、この動作が実際のVisual Studio 2015の現在のバージョンの更新プログラム3のバグとみなされるべきであること、が判明しました。同じ問題が発生している他の人には、hereでその問題の状態を追跡できます。

関連する問題