Visual Studio 2008 不显示任何“过时”警告
重复: 为什么在调用 C# 集合属性的属性时,它们没有被标记为过时?
我刚刚使用 Visual Studio 2008 将 .NET 1.1 项目迁移到 .NET 2.0。我知道项目中存在对过时方法的引用。
但 Visual Studio 在构建后不会显示“过时”警告。 构建成功,并且仅显示来自分配了从未使用过的值的成员的 3 条警告。 当我删除这些成员时,根本没有任何警告。
我需要这些“过时”警告
警告级别为 4(最大),警告已启用。
仅举一个示例:
protected internal DataConnector()
{
_connectionString = ConfigurationSettings.AppSettings["ProductConnectionString"];
}
所有应导致“过时”警告的引用都是对 .NET Framework 类的成员的引用。
Duplicate: Why are C# collection-properties not flagged as obsolete when calling properties on them?
I just migrated a .NET 1.1 project to .NET 2.0 using Visual Studio 2008. I know that there are references to obsolete methods in the project.
But Visual Studio does not show "obsolete"-warnings after building. The build succeeds and shows only 3 warnings from members that are assigned a value that is never used. When I remove these members there are no warnings at all.
I NEED THESE "OBSOLETE"-WARNINGS
The Warning level is 4 (maximum), Warnings are enabled.
Just one sample:
protected internal DataConnector()
{
_connectionString = ConfigurationSettings.AppSettings["ProductConnectionString"];
}
All references that should result in an "obsolete"-warning are to members of classes of the .NET Framework.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
调用过时方法的代码本身是否被标记为过时?
Is the code calling the obsolete method(s) itself flagged as obsolete?
只是在这里尝试一下,但是在您正在引用的项目中是否使用了过时的成员,并且当您构建时它实际上并没有重建该项目? 如果可能的话,我会尝试手动构建正在使用的项目,或者只是重建整个解决方案。
Just taking a shot in the dark here, but is the usage of an obsolete member taking place in a project that you're REFERENCING, and when you're building it isn't actually rebuilding that project? If that's a possibility, I would try manually building the project where the usage is taking place, or just rebuilding the entire solution.
确保您正在对项目进行完整构建,而不仅仅是增量构建。
Make sure you are doing a full build on the project, not just an incremental build.
Jeff Yates 是对的,这是 为什么在调用 C# 集合属性的属性时,它们没有被标记为过时?
这是此处报告的 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 版本中修复它。
Jeff Yates is right, this is a duplicate to Why are C# collection-properties not flagged as obsolete when calling properties on them?
It is a bug in the C# 3.5 compiler reported here:
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=417159
I checked it: copied the csc.exe commandline from the output window to a cmd-console. When I change the directory to the .NET 2.0 directory (using C# 2.0 compiler), it shows the warnings. Microsoft knows this bug and fixed it in C# 4.0 but will not fix it in the 3.5 version.