3

en double:Why are C# collection-properties not flagged as obsolete when calling properties on them?Visual Studio 2008 ne montre aucun -warnings « obsolète »

Je viens de migrer un projet .NET 1,1 à 2,0 .NET en utilisant Visual Studio 2008. Je sais qu'il ya des références à des méthodes obsolètes dans le projet.

Mais Visual Studio n'affiche pas les avertissements "obsolètes" après la construction. La génération réussit et affiche seulement 3 avertissements de membres auxquels est affectée une valeur qui n'est jamais utilisée. Quand j'enlève ces membres, il n'y a aucun avertissement.

Je besoin de ces "Obsolète" -WARNINGS

Le niveau d'alerte est 4 (maximum), avertissements sont activés.

Juste un exemple:

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

Toutes les références qui devraient aboutir à une « obsolète » sont -Attention aux membres des classes du .NET Framework.

+0

Pouvez-vous donner un échantillon de code et l'APi qui est obsolète? – JaredPar

+0

Ceci est un doublon. http://stackoverflow.com/questions/577132/why-are-c-collection-properties-not-flagged-as-obsolete-when-calling-properties –

+0

@JaredPar, j'ai ajouté un exemple de code, l'API est .NET , voici le classique AppSettings vs ConfigurationManager @Jeff Yates: Merci, mais je ne suis pas sûr que ce soit vraiment un doublon: je n'appelle que des membres .NET, aucun membre de mon propre code n'est obsolète. De plus, je n'ai pas du tout d'obsolescence ... – Hinek

Répondre

0

Jeff Yates a raison, cela est un duplicata Why are C# collection-properties not flagged as obsolete when calling properties on them?

Il est un bogue dans le C# 3.5 compilateur rapporté ici: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=417159

Je l'ai vérifié: copié la ligne de commande csc.exe de la sortie fenêtre à une console cmd. Lorsque je change le répertoire dans le répertoire .NET 2.0 (en utilisant le compilateur C# 2.0), il affiche les avertissements. Microsoft connaît ce bogue et l'a corrigé dans C# 4.0 mais ne le corrigera pas dans la version 3.5.

+0

Pas sur mon 3.5sp1! Je reçois toujours les avertissements. – leppie

+0

"... l'a corrigé en C# 4.0 mais ne le résoudra pas dans la version 3.5" – Hinek

0

Le code appelant la (les) méthode (s) obsolète (s) elle-même est-il marqué comme obsolète?

+0

Non, il n'y a pas d'ObsoleteAttribute. – Hinek

0

Vous venez de prendre une photo dans le noir, mais l'utilisation d'un membre obsolète se produit-elle dans un projet que vous REFERENCEZ, et lorsque vous le construisez, il ne reconstruit pas réellement ce projet? Si c'est une possibilité, j'essaierais de construire manuellement le projet là où l'utilisation est en cours, ou simplement de reconstruire la solution entière.

+0

Déjà essayé de refouler la solution ou juste le projet, pas de changement – Hinek

0

Assurez-vous de créer une version complète du projet, et pas seulement une version incrémentielle.

+0

Comment est-ce que je fais ceci? J'ai utilisé "Reconstruire", est-ce suffisant? – Hinek