我正在与一位合作伙伴合作,尝试将复杂的驱动程序从 .NET 平台迁移到 .NET MicroFramework。
问题是 .NET MF 不支持泛型,当我们尝试构建应用程序时,最后一个“链接”操作会退出并显示错误代码“CLR_E_PARSER_UNSUPPORTED_GENERICS”。
但是没有关于 WHERE(模块、代码行)的信息。
据我们所知,没有人故意插入泛型,他们一直在仔细检查代码以找出问题所在,但没有运气。
所以我的问题是:是否有某种方法可以关闭 VS2010 中对泛型的支持,以便编译器标记有问题的行?
是否有某种方法可以关闭 VS2010 中对泛型的支持,以便编译器标记有问题的行?
是的,但这是一个“核”选项:
using System.Collections.Generic;
class Test
{
static void Main()
{
IEnumerable<int> x = null;
}
}
C:\> csc /langversion:ISO-1 \foo.cs
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.
c:\foo.cs(9,12): error CS1644: Feature 'generics' cannot be used because it is
not part of the ISO-1 C# language specification
ISO-1 开关关闭C# 1.0 中没有的所有功能,这可能比您想要关闭的功能更多。
请注意,该开关并不是“在 C# 2.0 编译器中模拟 C# 1.0”开关;如果您想运行 C# 1.0 编译器,只需运行它即可。该开关旨在识别特定版本中不存在的功能并禁止它们。
请注意,该开关也可能无法执行您需要它执行的所有操作。它所做的只是禁止使用泛型syntax。如果您使用的是通用的type没有实际使用通用syntax,开关没有捕捉到它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)