До сегодняшнего дня одно из наших приложений работало правильно в коде Visual Studio (большинство разработчиков используют Visual Studio 2019). Однако после извлечения из git этим утром мы получаем следующую ошибку при сборке проекта:
dotnet build
C:\Program Files\dotnet\sdk\3.0.100\Roslyn\Microsoft.CSharp.Core.targets(59,5): error : Process terminated. System.Runtime.InteropServices.COMException (0x80131239): Method signature has invalid calling convention. (0x80131239) [<MyDiirectory>\<MyProject>.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Roslyn\Microsoft.CSharp.Core.targets(59,5): error : at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseLocalDeclarationStatement(SyntaxToken awaitKeywordOpt) [<MyDiirectory>\<MyProject>.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Roslyn\Microsoft.CSharp.Core.targets(59,5): error : at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParsePossibleDeclarationOrBadAwai tStatement(ResetPoint& resetPointBeforeStatement) [<MyDiirectory>\<MyProject>.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Roslyn\Microsoft.CSharp.Core.targets(59,5): error : at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParsePossibleDeclarationOrBadAwaitStatement() [<MyDiirectory>\<MyProject>.csproj]
Фактический файл csproj не является чем-то необычным:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<Nullable>enable</Nullable>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="System.ComponentModel.Annotations">
<HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.2.0\ref\netcoreapp2.2\System.ComponentModel.Annotations.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Folder Include="Report\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="SolrNet.Core" Version="1.0.19" />
</ItemGroup>
Я пробовал следующее:
- Полная очистка и восстановление
- Очистить файл proj и воссоздать
- Перезапустить код VS
- Проверено на устаревшие ссылки на DLL
Кто-нибудь сталкивался с этой проблемой, особенно в коде Visual Studio? Как я уже сказал, он отлично работает на Visual Studio 2019.