ReSharper выдает предупреждения о проверке кода C# 3.0 для проектов .NET 2.0

Когда я работаю над проектами .NET 2.0 с новейшей версией ReSharper (4.1), я получаю предупреждения об использовании ключевого слова var, лямбда-выражений и т. д. Есть идеи, как отключить это только для проектов .NET 2.0?


person Greg    schedule 19.09.2008    source источник


Ответы (3)


Действительно, вы можете использовать функции компилятора C# 3.0, ориентируясь на .NET 2.0, за исключением методов расширения и реализаций LINQ по умолчанию, которые находятся в более новых сборках. Но если вам нужно сотрудничать с пользователями VS2005, вы можете открыть представление «Свойства» для данного проекта (не «Свойства проекта», а «Правка \ Окно свойств» или F4) и выбрать нужный уровень языка.

person Ilya Ryzhenkov    schedule 19.09.2008
comment
Это работает для библиотек классов, и я предполагаю приложения, но я не вижу такой же опции для своего веб-сайта ASP.NET. - person Greg; 20.09.2008

На самом деле вы можете использовать var в проектах 2.0. Это синтаксический сахар, и компилятор с ним работает. Проверьте это для получения дополнительной информации.

http://weblogs.asp.net/shahar/archive/2008/01/23/use-c-3-features-from-c-2-and-net-2-0-code.aspx

person dbugger    schedule 19.09.2008
comment
Что делать, если проект нужно открыть как в Visual Studio 2005, так и в 2008. (Не тот же Грег, что и спрашивающий) - person Greg; 20.09.2008
comment
Хороший вопрос. На этой коробке нет 2005 года. В понедельник попробую в офисе. - person dbugger; 20.09.2008
comment
VS 2005 не знает, что с этим делать. - person dbugger; 22.09.2008

У Дэниела Мота отличный пост в блоге о том, как использовать функции C# 3.0 (включая методы расширения) в .Net 2.0.

После повторного прочтения вопроса это действительно не помогает. Вы можете отключить определенные проверки в окне параметров R#. Я не знаю, как переключаться между настройками проекта 2.0 и 3.5, не изменяя их вручную :S.

person Mark    schedule 26.09.2008