代码之家  ›  专栏  ›  技术社区  ›  Junior

Visual Studio 2017错误“Failed tp complile the project in memory”请使用7.3或更高版本的语言

  •  3
  • Junior  · 技术社区  · 6 年前

    我有一个项目是用 C# 在…的上面ASP.Net核心2.2框架。这个项目始于ASP.NET核心2.1并升级到2.2。

    此项目包含的代码正在利用C编译器7.3中的一些最新功能,这是我的项目编译所必需的。为了强制我的项目使用C编译器7.3,我在 .csproj

    <PropertyGroup>
       <LangVersion>7.3</LangVersion>
    </PropertyGroup>
    

    请注意 <LangVersion>7.3</LangVersion> <LangVersion>latest</LangVersion> 由于某种原因,项目将无法编译。就像visualstudio认为7.3不是最新的,或者不知道它的存在。

    上面的代码使项目使用最新的C编译器7.3进行编译。但是,我现在尝试使用以下步骤构建标识项

    1. 解决方案管理器 ,右键单击项目> 添加 .
    2. 添加脚手架 对话框,选择 &燃气轮机; 添加 .
    3. 添加标识 对话框中,选择要覆盖的文件。
      1. 选择或创建 数据上下文类 .
    4. 击中 添加 .

    但这给了我以下错误“在内存中编译项目失败”

    Visual Studio 2017似乎正在尝试在构建过程中使用C编译器7.0而不是C编译器7.3在内存中编译项目,这就是我出现此错误的原因。请记住,除非使用C编译器7.3+,否则我的项目不会编译。 enter image description here

    0 回复  |  直到 6 年前
        1
  •  0
  •   denys-vega    5 年前

    枚举泛型约束 分成两类。

    EnumOptionalMenuViewModel,第6行。

    scaffolding使用C#7.0编译项目,但此功能不可用。

    您可以禁用这些约束,运行脚手架,然后再次启用它。

    我希望它能帮助别人。