Получить VS, чтобы выделить все вызовы метода .Net 3.5 SP1 - PullRequest
2 голосов
/ 23 июня 2009

В .Net 3.5 SP1 есть куча новых API.

Если не считать удаления .Net 3.5 с пакетом обновления 1 (или разработки на виртуальной машине), есть ли способ заставить VS 2008 ориентироваться на .Net 3.5 (RC), а не на .Net 3.5 с пакетом обновления 1?

Есть ли способ заставить его выдавать предупреждение, когда существует API, не поддерживаемый в 3.5 SP1, который вызывается?

Аналогичный вопрос: Найти код, который зависит от .NET 3.5 SP1

1 Ответ

3 голосов
/ 23 июня 2009

Это на самом деле удивительно хитрый ответ.

Прежде всего, чтобы получить эту функциональность, описанную в в следующем посте , вам потребуется либо последняя версия 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 \ Статический анализ Инструменты \ FxCop \ Repository \ Compatibility \ Desktop3.5SP1.xml» не перечисляет ЛЮБОГО нового WPF члены собрания.

Андрей, спасибо за отзыв. Вы Правильно, есть ошибка. Данные для WPF 3.5 SP1 включен, просто перечислены под 3.0 SP2. Тем не менее Атрибут «Приоритет» для этого файла и 2.0 SP2 неверен. Я отправил эту информацию в мою старую команду, в Между тем, обходной путь должен вручную изменить эти файлы; за Desktop3.0SP2.xml изменить приоритет от «3020» до «3520» и для Desktop2.0SP2.xml изменить приоритет от «3015» до «3515».

Так что вам нужно будет открыть cmd в админке и исправить эти файлы, если вы хотите, чтобы это работало.

Как только это сделано, кажется, работает нормально.

...