1

「MemoryDB」という名前のクラス (c'tor は 6 つの引数を取る) を作成し、彼女の単体テストを作成しました。今日まではすべて問題ありませんでした-引数の1つを削除しようとしたため、5のままです.(クラスMemoryDBの再構築、保存、再作成後など)にもかかわらず、単体テストは変更を認識せず、エラー メッセージが表示TimeTable.DB.MemoryDB does not contain a constructor that takes 5 arguments. されます。単体テストも再作成しようとしましたが、何らかの理由で、作成される自動 c'tor が古い c'tor で、6 つの引数があります。

間違った方法で引数を削除しましたか? どうすればこれを修正できますか? プロジェクトの他のエラーがこの奇妙な問題を引き起こす可能性はありますか?

psここに古いc'torがあります:

    public MemoryDB(List<Grade> allGrades, List<Teacher> allTeachers, ForbiddenHours forbiddenHours, List<Group> allGroups, List<List<Teacher>> staffs, List<List<Group>> parallelGroups)
    {
        CheckParametersValidation(allGrades, allTeachers, forbiddenHours, allGroups, staffs, parallelGroups);

        this.allGrades = allGrades;
        this.allTeachers = allTeachers;
        this.forbiddenHours = forbiddenHours;
        this.allGroups = allGroups;
        this.staffs = staffs;
        this.parallelGroups = parallelGroups;
    }

「forbiddenHours」を削除した後の新しい c'tor:

    public MemoryDB(List<Grade> allGrades, List<Teacher> allTeachers, List<Group> allGroups, List<List<Teacher>> staffs, List<List<Group>> parallelGroups)
    {
        CheckParametersValidation(allGrades, allTeachers, allGroups, staffs, parallelGroups);

        this.allGrades = allGrades;
        this.allTeachers = allTeachers;
        this.allGroups = allGroups;
        this.staffs = staffs;
        this.parallelGroups = parallelGroups;
    }
4

1 に答える 1

0

これが発生する理由を特定するのは困難ですが、このような問題のトラブルシューティングを行う際に注意すべきことがいくつかあります。

  • ライブラリがDLLとして参照されている場合は、DLLが更新されていない可能性があります。
    • その場合は、ライブラリを再構築します。エラーが発生した場合は、ライブラリは構築されていません。エラーを修正します。
    • 再構築したら、既存の参照を削除して再度追加します(厳密には必要ありません。ファイルシステム上のDLLを置き換えるだけです)。
  • ライブラリがプロジェクトとして参照された場合:
    • ライブラリがエラーなしで構築されていることを確認してください。
    • いくつかのキャッシュの問題が発生している可能性があります。VisualStudioを再起動します。
于 2013-01-18T10:33:39.497 に答える