我有以下内容:
问题是,如果我停在调试器中并尝试检查ImmutableArray<T>
的内容,则什么都不会发生。
如果我尝试快速观看ImmutableArray<T>
,则会出现以下错误:
错误CS0012:类型'ValueType'是在未引用的程序集中定义的。您必须添加对程序集'System.Runtime,版本= 4.0.20.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a'的引用。
我可以通过以下方法解决此错误:
工具->选项->调试->常规,启用“使用托管的兼容模式”
不幸的是,此模式禁用了其他一些功能,所以我的问题是:
是否可以在不使用托管兼容模式的情况下使此功能正常工作?
(我怀疑此问题可能与使用单独的下载将4.7.1或更高版本的支持添加到Visual Studio中有关。)
我正在使用的示例测试控制台应用程序:
using System;
using System.Collections.Immutable;
using System.Linq;
namespace ConsoleApp10
{
class Program
{
static void Main()
{
var t = test();
Console.WriteLine(t.Length); // Set breakpoint here: Cannot inspect 't'.
}
static ImmutableArray<int> test()
{
return Enumerable.Range(1, 10).ToImmutableArray();
}
}
}