1

非常に単純なプロジェクトでコード分析を実行すると、すぐに「CA0503 IssueRunningCodeAnalysis」および「CA0505IssueRunningCodeAnalysis」違反が発生します。 CA0503のドキュメントページには、「このプロパティは非推奨です。置き換えられるプロパティを使用してください」と記載されています。ただし、置き換えられるプロパティ、エラーの処理方法、またはエラーの抑制方法については示していません。どうやら、これは隠されたMicrosoftルールセットであり、ルールをオフにすることはできません。

CA0505のドキュメントページにも同様に、「置き換えられるプロパティが定義されているため、非推奨のプロパティは無視されます」と記載されています。さらに、「警告CA505は、指定された非推奨のコード分析プロパティと先行するコード分析プロパティの両方にプロジェクトまたはビルド構成ファイルの値が含まれている場合に生成されます。この問題を解決するには、非推奨のプロパティを削除してください。」

ソリューション全体でCA0503またはCA0505のいずれかをテキスト検索しても、何も返されません。ただし、「CodeAnalysisRules」を検索すると、2つのプロジェクトファイルのそれぞれに次の行が見つかります。

<CodeAnalysisRules>-Microsoft.Design#CA2210 </ CodeAnalysisRules>

同様のテキスト検索で、「CodeAnalysisRuleSet」に対応する行が見つかりません。

他の誰かがこれに遭遇し、おそらくこれらのメッセージを修正または抑制する方法を見つけましたか?

4

3 に答える 3

2

Visual Studio 2008 プロジェクトを Visual Studio 2013 にアップグレードするときに、この問題が発生しました。アップグレード中に、.ruleset「特別な TFS ソース管理の理由」と呼ばれるものが原因でファイルを追加できないというエラーが表示されました。

アップグレード前、私のプロジェクト ファイル (私の場合は.csprojファイル) には<CodeAnalysisRules>要素が含まれていました。これには、プロジェクトのコード分析ルールに関連する巨大な文字列が含まれていました。アップグレード後、プロジェクト ファイルのCodeAnalysisRules要素は変更されていませんがMigrated rules for [project name].ruleset、プロジェクト ディレクトリにファイルが作成されました。

それを修正するために、私は:

  1. ファイルをプロジェクトに追加しました.ruleset(すでに追加されている可能性があります。私のものはプロジェクトディレクトリにダンプされたばかりです)。
  2. プロジェクトをアンロードしました。
  3. 要素を完全に削除し、その場所またはファイルの名前を追加して、.csprojファイルを更新しました。<CodeAnalysisRules><CodeAnalysisRuleSet>Migrated rules for [project name].ruleset</CodeAnalysisRuleSet>.ruleset
  4. プロジェクトをリロードしました。

アップグレードが成功すると、Visual Studio が古い<CodeAnalysisRules>要素の内容を解析し、.rulesetそれに基づいてファイルを作成し、それをプロジェクトにリンクすると仮定します。いつもうまくいくとは限りません。

于 2014-06-26T13:04:02.707 に答える
1

以前の Visual Studio からソリューションを更新し、一元化されたルール ファイルを定義した場合。プロジェクトから手動で削除する必要があります。

于 2012-09-28T09:18:35.120 に答える
0

コード分​​析の実行中に、プロジェクトファイルは自動的に更新されます。追加されるエントリがあります-CodeAnalysisRules。これがこの警告の理由です。私は、要素CodeAnalysisRulesがプロジェクトファイルに含まれないように構成する必要があると思います。

于 2012-06-12T07:05:48.100 に答える