我在ASP.Net Core 2.2框架的顶部有一个使用C#
编写的项目。该项目始于ASP.NET Core 2.1,并已升级到2.2。
此项目包含的代码正在利用C#编译器7.3中的一些最新功能,这是我的项目进行编译所必需的。为了强制我的项目使用C#编译器7.3,我在.csproj
文件
<PropertyGroup>
<LangVersion>7.3</LangVersion>
</PropertyGroup>
请注意,由于某些原因,项目无法编译,因此将<LangVersion>7.3</LangVersion>
更改为<LangVersion>latest</LangVersion>
无效。就像Visual Studio认为7.3不是最新版本或不知道它的存在一样。
以上代码使项目使用最新的C#编译器7.3进行编译。但是,我现在尝试使用以下步骤来搭建身份项目
但这给了我以下错误:“无法在内存中编译项目”
似乎Visual Studio 2017正在尝试在脚手架过程中使用C#编译器7.0而不是C#编译器7.3编译内存中的项目,这就是我收到此错误的原因。请记住,除非使用C#编译器7.3+,否则我的项目将无法编译。
如何强制Visual Studio 2017在项目和内存中的任何地方使用C#编译器7.3?
答案 0 :(得分:0)
我知道有点晚了,但是错误很明显。您在两种情况下使用枚举通用约束。
EnumMenuViewModel,第7行,第105列。
EnumOptionalMenuViewModel,第6行。
脚手架使用C#7.0编译项目,此功能不可用。
您可以禁用这些约束,运行脚手架,然后再次启用它。
我希望它能对某人有所帮助。