私はEntityFrameworkのコードを調べていました。
エンティティフレームワーク5の本番dllにSuppressMessage属性がまだ含まれていることに気付きました
プロジェクトは明らかにCODE_ANALYSISコンパイルシンボル(オープンソースプロジェクトを見る場合)を使用して構築され、SuppressMessage属性を削除しますが、場合によってはまだそこにあります。
これはdllのサイズを増やすだけではありません(すべてが単なるメタデータであるため、ランタイムパフォーマンスへの影響はないことを私は知っています)しかし、なぜ一部だけが解析されるのですか?本番DLLに到達しなかったものは何千もあります。
また、間違った設定でプロジェクトをビルドしていないことを確認するために、NuGetから取得したバージョンを逆コンパイルしました。
リリース用にコンパイルしても、CODE_ANALYSISコンパイルシンボルを取得して自分のsuppressmessagesを削除することさえできないため、例としてEFコードベースを使用しています。