3

Повторяющиеся:Why are C# collection-properties not flagged as obsolete when calling properties on them?Visual Studio 2008 не показывает «устаревшие» -warnings

Я просто мигрировали проект на .NET 1.1 для .NET 2.0 с помощью Visual Studio 2008. Я знаю, что есть ссылки на устаревшие методы в проекте.

Но Visual Studio не показывает «устаревшие» -волны после строительства. Сборка завершается успешно и отображает только 3 предупреждения от членов, которым присваивается значение, которое никогда не используется. Когда я удаляю этих членов, никаких предупреждений вообще нет.

мне эти "ИСП" -WARNINGS

Уровень предупреждения является 4 (максимальная), предупреждения включены.

Только один пример:

protected internal DataConnector() 
{ 
    _connectionString = ConfigurationSettings.AppSettings["ProductConnectionString"]; 
} 

Все ссылки, которые должны привести к «устаревшей» -warning относятся к членам классов .NET Framework.

+0

Можете ли вы представить образец кода и APi, который устарел? – JaredPar

+0

Это дубликат. http://stackoverflow.com/questions/577132/why-are-c-collection-properties-not-flagged-as-obsolete-when-calling-properties –

+0

@JaredPar, я добавил образец кода, API - это .NET. , здесь все время классический AppSettings vs. ConfigurationManager @Jeff Yates: Спасибо, но я не уверен, что это действительно дубликат: я просто называю .NET-членами, а не членами моего собственного кода, которые устарели. Кроме того, я не получаю никаких «устаревших» -валов вообще ... – Hinek

ответ

0

Джефф Йейтс прав, это дубликат для Why are C# collection-properties not flagged as obsolete when calling properties on them?

Это ошибка в C# 3.5 компилятора сообщил здесь: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=417159

Я проверил: скопировал Csc.exe командную строку с выхода окно на консоль cmd. Когда я меняю каталог на каталог .NET 2.0 (используя компилятор C# 2.0), он показывает предупреждения. Microsoft знает эту ошибку и исправила ее в C# 4.0, но не исправила ее в версии 3.5.

+0

Не на моем 3.5sp1! Я все еще получаю предупреждения. – leppie

+0

«... исправил его в C# 4.0, но НЕ исправит его в версии 3.5», – Hinek

0

Является ли код, вызывающий сам устаревший метод (ы), устаревшим?

+0

Нет, у него нет ObsoleteAttribute. – Hinek

0

Просто снимать в темноте здесь, но это использование устаревшего элемента, имеющего место в проекте, который вы используете, и когда вы строите его, на самом деле не перестраиваете этот проект? Если это возможно, я бы попытался вручную создать проект, где происходит использование, или просто перестроить все решение.

+0

Уже опробовали решение или только проект, без изменений – Hinek

0

Убедитесь, что вы выполняете полную сборку проекта, а не только инкрементную сборку.

+0

Как это сделать? Я использовал «Rebuild», этого достаточно? – Hinek