ValueTuple 在带有 MVC 5 的 Razor 视图中不起作用
ValueTuple not working in Razor views with MVC 5
我在 Visual Studio 2017 年有一个 ASP.NET MVC 5 项目,在成功添加 C# 7 支持后(到目前为止对我有用),我尝试在我的 Razor 视图中使用元组,但是我收到一条令人惊讶的错误消息:
CS0433: The type 'ValueTuple<T1, T2>' exists in both 'System.ValueTuple, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
当然,我已经将 System.ValueTuple
安装为 nuget 包,但是这个错误表明 mscorlib
本身还有另一个实现 - 这有什么意义?毕竟,如果我从我的项目中删除 nuget 包,ValueTuple
就再也找不到了。我的目标是 .NET Framework 4.5.2 并使用来自 ASP.NET.
的所有包的最新版本
这个问题似乎与新的 C# 7 语法无关,它只是由于尝试使用 ValueTuple
类型引起的:
ValueTuple<int, int> tuple;
我对 Visual Studio 的 IntelliSense 给我的错误更加困惑,它说 ValueTuple
没有被引用,要使用它我必须添加对 System.Runtime
。安装有助于平静 Visual Studio 但在运行时没有任何区别。
Of course I have installed System.ValueTuple as a nuget package
我怀疑这就是问题所在。我的猜测是,即使您目标.NET 4.5.2,您在.NET 4.7 系统上运行 ,其中包括 mscorlib 中的 System.ValueTuple
。
我建议您删除对 System.ValueTuple
包的包依赖,并将您的目标框架更新为 .NET 4.7(因为您似乎已经 运行 了)...如果当然,改变不会破坏其他东西...
我在 Visual Studio 2017 年有一个 ASP.NET MVC 5 项目,在成功添加 C# 7 支持后(到目前为止对我有用),我尝试在我的 Razor 视图中使用元组,但是我收到一条令人惊讶的错误消息:
CS0433: The type 'ValueTuple<T1, T2>' exists in both 'System.ValueTuple, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
当然,我已经将 System.ValueTuple
安装为 nuget 包,但是这个错误表明 mscorlib
本身还有另一个实现 - 这有什么意义?毕竟,如果我从我的项目中删除 nuget 包,ValueTuple
就再也找不到了。我的目标是 .NET Framework 4.5.2 并使用来自 ASP.NET.
这个问题似乎与新的 C# 7 语法无关,它只是由于尝试使用 ValueTuple
类型引起的:
ValueTuple<int, int> tuple;
我对 Visual Studio 的 IntelliSense 给我的错误更加困惑,它说 ValueTuple
没有被引用,要使用它我必须添加对 System.Runtime
。安装有助于平静 Visual Studio 但在运行时没有任何区别。
Of course I have installed System.ValueTuple as a nuget package
我怀疑这就是问题所在。我的猜测是,即使您目标.NET 4.5.2,您在.NET 4.7 系统上运行 ,其中包括 mscorlib 中的 System.ValueTuple
。
我建议您删除对 System.ValueTuple
包的包依赖,并将您的目标框架更新为 .NET 4.7(因为您似乎已经 运行 了)...如果当然,改变不会破坏其他东西...