在新的 VS Studio 2017 ASP.NET MVC 5.2.3 项目中使用 C# 7 功能时出现编译错误

1

本文介绍了在新的 VS Studio 2017 ASP.NET MVC 5.2.3 项目中使用 C# 7 功能时出现编译错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

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

I'm using VS 2017 usually for console applications. But now I have to create a new ASP.NET MVC project and found something curious.

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

Auto generation of getter and setter (context menu "Quick actions and refactoring < Ecapsulate field (and use property)") raise a compiling error. To give an easy example:

public class Person
{
    private string firstname;

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

错误信息:

1>------ Build started: Project: DummyASPNETMVC, Configuration: Debug Any CPU ------
1>C:devC#DummyASPNETMVCDummyASPNETMVCModelsPerson.cs(12,39,12,41): error CS1043: { or ; expected
1>C:devC#DummyASPNETMVCDummyASPNETMVCModelsPerson.cs(12,39,12,41): error CS1513: } expected
1>C:devC#DummyASPNETMVCDummyASPNETMVCModelsPerson.cs(14,2,14,2): error CS1513: } expected
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

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

Uncomment the getter and setter will make the things working again.

我想知道,因为这在控制台应用程序中运行良好.这里的区别在哪里?

I'm wondering because this works fine within a console application. Where's the difference here?

推荐答案

感谢 Panagiotis 和 哲也.那是c#的版本.

Thanks to Panagiotis and Tetsuya. It was the version of c#.

作为这个问题的参考,你必须做三件事:

As a reference to this question, you have to do three things:

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

完成.

这篇关于在新的 VS Studio 2017 ASP.NET MVC 5.2.3 项目中使用 C# 7 功能时出现编译错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

C# 中的多播委托奇怪行为?
Multicast delegate weird behavior in C#?(C# 中的多播委托奇怪行为?)...
2023-11-11 C#/.NET开发问题
6

参数计数与调用不匹配?
Parameter count mismatch with Invoke?(参数计数与调用不匹配?)...
2023-11-11 C#/.NET开发问题
26

如何将代表存储在列表中
How to store delegates in a List(如何将代表存储在列表中)...
2023-11-11 C#/.NET开发问题
6

代表如何工作(在后台)?
How delegates work (in the background)?(代表如何工作(在后台)?)...
2023-11-11 C#/.NET开发问题
5

没有 EndInvoke 的 C# 异步调用?
C# Asynchronous call without EndInvoke?(没有 EndInvoke 的 C# 异步调用?)...
2023-11-11 C#/.NET开发问题
2

Delegate.CreateDelegate() 和泛型:错误绑定到目标方法
Delegate.CreateDelegate() and generics: Error binding to target method(Delegate.CreateDelegate() 和泛型:错误绑定到目标方法)...
2023-11-11 C#/.NET开发问题
14