Nen*_*nad 35 asp.net-mvc razor asp.net-core visual-studio-2019
自从更新到 Visual Studio 2019 版本16.11.0cshtml
(今天)以来,Razor MVC 视图编译在多个项目中的多个文件上失败:
错误 CS1576:为 #line 指令指定的行号丢失或无效
我尝试在global.json
文件中设置 .NET Core SDK 的固定版本,该文件放置在 MVC Web 项目的根文件夹中,如此处所述,但这也没有帮助。
Glo*_*del 36
在安装带有(正如您猜测的).NET Core 6.0 预览版的 Visual Studio for Mac 2022 预览版后,我在 Visual Studio for Mac 8.10.11 中的 .NET Core 5.0 Web 项目中遇到了相同的错误消息。正如现已删除的答案中提到的,它也可能在 Windows 上运行。
\n@Failwyn\ 的回答中提到的预览功能(在首选项 \xe2\x86\x92 预览功能下)不包括使用 .NET SDK 预览的选项。按照@Nenad\'s 答案global.json
中的描述进行添加也不起作用。
幸运的是,我确实有另一个 .NET Core 5.0 项目可以编译,所以我能够找出原因。或者至少是解决方案:这是<LangVersion>
从项目文件中删除指示:
<PropertyGroup Condition=" \'$(Configuration)|$(Platform)\' == \'Debug|AnyCPU\' ">\n <LangVersion>latestmajor</LangVersion>\n </PropertyGroup>\n <PropertyGroup Condition=" \'$(Configuration)|$(Platform)\' == \'Release|AnyCPU\' ">\n <LangVersion>latestmajor</LangVersion>\n </PropertyGroup>\n
Run Code Online (Sandbox Code Playgroud)\n这让我感到惊讶,因为它表示 C# 版本,但显然这也会影响 .NET SDK 版本。
\n\nFai*_*wyn 22
更新:现在 .Net 6 不再被视为预览版,我们必须在 csproj 文件中将 LangVersion 从“最新”更改为“9”才能解决问题。
可以通过转到工具 -> 选项 -> 环境 -> 预览功能 -> 取消选中“使用 .Net SDK 预览(需要重新启动)”来修复此问题。
重新启动 Visual Studio,项目将再次生成。我在 Visual Studio 2019 中打开此功能来测试 .Net 6,它破坏了我所有的 .Net 5 项目。
我找到了解决该问题的解决方法(至少对我来说)。
global.json
将文件放置在Visual Studio 解决方案根文件夹中:
{
"sdk": {
"allowPrerelease": false
}
}
Run Code Online (Sandbox Code Playgroud)
最初,我仅在 Web (MVC) 项目的根文件夹中添加global.json
(更深一层),但它并不能解决问题。所以它必须是解决方案根文件夹。
归档时间: |
|
查看次数: |
8664 次 |
最近记录: |