VSを入手して、すべての.Net 3.5 SP1メソッド呼び出しを強調表示する
-
06-07-2019 - |
質問
.Net 3.5 SP1には多数の新しいAPIがあります。
.Net 3.5 SP1をアンインストールする(またはVMでdevを実行する)短いですが、.Net 3.5 SP1ではなくVS 2008を.Net 3.5(RC)をターゲットにする方法はありますか?
3.5 SP1でサポートされていないAPIが呼び出されているときに警告を発行する方法はありますか?
同様の質問: .NET 3.5に依存するコードを見つけるSP1
解決
これには、実際、驚くほどトリッキーな答えがあります。
まず、次の投稿には、fxcopの最新バージョンまたはVS 2008 SP1が必要です。
一度インストールしたら、ポータビリティルールと呼ばれる新しいルール(VS 2008 Team System)があります->ターゲットフレームワークのAPIのみを使用します。
しかしそれだけでは不十分
Fxcopは現在、危険なwpfルールを使用して出荷しています:
上記の投稿の最後の行からの引用:
これにはバグがあるようです 私が文句を言わなかったので 参照されるIEditableCollectionView 3.5 SP1で追加されました。として 実際のところ、それは " C:\ Program Files \ Microsoft Visual Studio 9.0 \ Team Tools \ Static Analysis Tools \ FxCop \ Repository \ Compatibility \ Desktop3.5SP1.xml" 新しいWPFをリストしません アセンブリメンバー。
Andrew、フィードバックをありがとう。君は 正しい、バグがあります。データ WPF 3.5 SP1には含まれていますが、 3.0 SP2にリストされています。しかし このファイルの「優先度」属性と 2.0 SP2は正しくありません。この情報を私の古いチームに転送しました。 それまでの間、回避策は手動で これらのファイルを変更します。にとって Desktop3.0SP2.xmlは優先度を変更します 「3020」から「3520」まで、および Desktop2.0SP2.xmlは優先度を変更します 「3015」から「3515」まで。
そのため、これを機能させるには、adminでopen cmdをクラックし、それらのファイルを修正する必要があります。
これが完了すると、正常に動作するようです。