相关疑难解决方法(0)

C#6.0功能不适用于Visual Studio 2015

我正在使用C#6.0测试Visual Studio 2015,但语言功能不起作用.在MVC Web应用程序中,以下代码编译:

if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName))
{
    // More logic here...
}
Run Code Online (Sandbox Code Playgroud)

但是,当我通过Debug和IIS Express运行应用程序时,我收到以下错误:

CS1525:无效的表达式术语'.'

如何启用这些功能?

c# asp.net-mvc roslyn c#-6.0 visual-studio-2015

134
推荐指数
6
解决办法
4万
查看次数

如何在Razor视图中使用新的c#8.0功能

我已经更新了ASP.NET Mvc 5 Web应用程序,以通过Visual Studio 2019使用新的c#8.0功能,并且一切正常,直到我尝试在Razor视图中使用这些新功能为止。

例如,如果我尝试使用新的switch表达式:

@{
    ViewBag.Title = "About";

    var foo = 1;
    var bar = foo switch
    {
        1 => "one",
        2 => "two",
        _ => string.Empty
    };
}
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>

<p>Use this area to provide additional information.</p>
Run Code Online (Sandbox Code Playgroud)

直到我尝试访问该页面时,编译器才会抱怨,这给了我编译错误。

编译错误

我怀疑Microsoft.CodeDom.Providers.DotNetCompilerPlatform必须更新,但似乎没有可用的更新。

有什么方法可以在Razor视图中使用c#8.0语言功能?

c# asp.net-mvc razor

13
推荐指数
2
解决办法
265
查看次数

标签 统计

asp.net-mvc ×2

c# ×2

c#-6.0 ×1

razor ×1

roslyn ×1

visual-studio-2015 ×1