.NET Framework 4.8 似乎使用早于 7 的 C# 版本
.NET Framework 4.8 seems to use C# version older than 7
我似乎遇到了与不处理内联 var 声明有关的问题。
原来是用的是老版本的c#。
这是一张显示 out string link
未编译的屏幕截图。
没有截图的源我也加了
if (foo(appid, webuid, out string link))
{
result.Body += link;
}
我调用的函数有签名
public static bool foo(string appid, string baz, out string link)
{
/* code */
}
为什么 vs 使用较旧的 C# 版本?
在我的项目中,我选择了 .NET Framework 4.8 作为目标。
错误消息显示为
Error CS8059 Feature 'out variable declaration' is not available in C#
6. Please use language version 7.0 or greater.
我用评论来制定答案。我检查了 csproj 文件并搜索了 LangVersion
.
<LangVersion>6</LangVersion>
删除线解决了问题。
现在的语言版本以.NET framework版本为准,不另行规定。
您无法在项目的高级属性中设置语言版本,但尽管如此,该设置似乎仍受到尊重。
我似乎遇到了与不处理内联 var 声明有关的问题。
原来是用的是老版本的c#。
这是一张显示 out string link
未编译的屏幕截图。
没有截图的源我也加了
if (foo(appid, webuid, out string link))
{
result.Body += link;
}
我调用的函数有签名
public static bool foo(string appid, string baz, out string link)
{
/* code */
}
为什么 vs 使用较旧的 C# 版本?
在我的项目中,我选择了 .NET Framework 4.8 作为目标。
错误消息显示为
Error CS8059 Feature 'out variable declaration' is not available in C# 6. Please use language version 7.0 or greater.
我用评论来制定答案。我检查了 csproj 文件并搜索了 LangVersion
.
<LangVersion>6</LangVersion>
删除线解决了问题。
现在的语言版本以.NET framework版本为准,不另行规定。
您无法在项目的高级属性中设置语言版本,但尽管如此,该设置似乎仍受到尊重。