"Application is in Break Mode" with OpenIddict on .net Core 2.0 Win vs. Mac(吓人)

"Application is in Break Mode" with OpenIddict on .net Core 2.0 Win vs. Mac (scary)

我在 .NET Core 2.0 上遇到了 OpenIddict 的可怕问题。 我在工作时使用 Windows 10 PC Visual Studio 2017,在家办公时使用 Mac。在 Mac 上,我将 Visual Studio 用于 Mac。

所以有时我会继续我的 Mac 工作,将更改推送到 Git 存储库并在 Windows PC 上检查它们。

没有对处理 OpenIddict 的代码做任何更改,我突然遇到问题 仅在 windows 时代码通过具有此签名的 AuthController 方法进入 return 访问令牌:

public async System.Threading.Tasks.Task<IActionResult> GetTokenAsync(OpenIdConnectRequest request)

return命令是

return SignIn(ticket.Principal, ticket.Properties, ticket.AuthenticationScheme);

我可以调试到 GetTokenAsync() 结束。然后系统遇到如下情况,进入Application Break Mode

An unhandled exception of type 'System.ExecutionEngineException' occurred in AspNet.Security.OpenIdConnect.Extensions.dll

该项目在我的 Mac 和 Windows 上都能正常编译。当我从 Visual Studio 2017 年 Windows 部署到 Azure 时,该软件也在 Azure 上崩溃。当我从我的 Mac 部署到 Azure 时,软件运行正常。

结论:一定是Visual Studio或者NuGet包的问题?

这些是我使用过的包参考,它们几乎是最新的:

<PackageReference Include="AspNet.Security.OAuth.Introspection" Version="2.0.0-rc1-final" />
<PackageReference Include="AutoMapper" Version="6.1.1" />
<PackageReference Include="Jwt.Token.Authorization.Server" Version="1.0.3" />
<PackageReference Include="Mailjet.Api" Version="1.0.1" />
<PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Xml" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" />
<PackageReference Include="MySql.Data" Version="8.0.9-dmr" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
<PackageReference Include="AspNet.Security.OAuth.Validation" Version="2.0.0-rc1-final" />
<PackageReference Include="OpenIddict" Version="2.0.0-rc1-final" />
<PackageReference Include="OpenIddict.EntityFrameworkCore" Version="2.0.0-rc1-final" />
<PackageReference Include="OpenIddict.Mvc" Version="2.0.0-rc1-final" />
<PackageReference Include="System.Threading.Timer" Version="4.3.0" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="2.0.0" />
<PackageReference Include="WindowsAzure.Storage" Version="8.5.0" />
<PackageReference Include="HtmlAgilityPack" Version="1.6.2" />

有没有人知道如何让我的 Windows 环境恢复工作?我什至退回了我的 Git 历史记录,以至于我没有从我的 Mac 进行最后一次结帐,但问题仍然存在。所以我很确定这是.net core、NuGet 或 Visual Studio.

的问题

提前致谢!

我通过删除 C:\Users\Me\.nuget.

的内容解决了这个问题

@Pinpoint 的评论也指出了解决方案。