首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在新的VS Studio 2017 ASP.NET MVC 5.2.3项目中使用ASP.NET 7特性时编译错误

在新的VS Studio 2017 ASP.NET MVC 5.2.3项目中使用ASP.NET 7特性时编译错误
EN

Stack Overflow用户
提问于 2017-06-06 06:50:53
回答 1查看 4.3K关注 0票数 6

我使用VS 2017通常用于控制台应用程序。但是现在我必须创建一个新的ASP.NET MVC项目,并发现了一些奇怪的东西。

自动生成getter和setter (上下文菜单“快速操作和重构<封装字段(并使用属性)”)将引发编译错误。举一个简单的例子:

代码语言:javascript
运行
复制
public class Person
{
    private string firstname;

    public string Firstname { get => firstname; set => firstname = value; }
}

错误消息:

代码语言:javascript
运行
复制
1>------ Build started: Project: DummyASPNETMVC, Configuration: Debug Any CPU ------
1>C:\dev\C#\DummyASPNETMVC\DummyASPNETMVC\Models\Person.cs(12,39,12,41): error CS1043: { or ; expected
1>C:\dev\C#\DummyASPNETMVC\DummyASPNETMVC\Models\Person.cs(12,39,12,41): error CS1513: } expected
1>C:\dev\C#\DummyASPNETMVC\DummyASPNETMVC\Models\Person.cs(14,2,14,2): error CS1513: } expected
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

取消注释,getter和setter将使事情再次工作。

我想知道,因为这在控制台应用程序中工作得很好。这有什么区别?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-06 07:47:20

多亏了PanagiotisTetsuya。这是c#的版本。

作为对this question的引用,您必须做三件事:

  1. 通过卸载"Microsoft.CodeDom.Providers.DotNetCompilerPlatform“并重新安装最新版本(目前为1.0.4)
  2. 之后,将Microsoft.Net.Compilers更新为最新版本(当前为2.2.0)
  3. 通过项目"properties < build < advanced“将c#语言更改为version 7。

好了。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44383162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档