【问题标题】:"Application is in Break Mode" with OpenIddict on .net Core 2.0 Win vs. Mac (scary).net Core 2.0 Win 与 Mac 上的 OpenIddict 的“应用程序处于中断模式”(可怕)
【发布时间】:2018-04-08 05:08:20
【问题描述】:

我在 .NET Core 2.0 上遇到了 OpenIddict 的一个可怕问题。 我在工作中使用带有 Visual Studio 2017 的 Windows 10 PC,在家庭办公时使用 Mac。在 Mac 上,我使用 Visual Studio for Mac。

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

没有对处理 OpenIddict 的代码进行任何更改当代码通过 AuthController 方法返回访问令牌时,我突然遇到问题仅在 Windows 上这个签名:

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

返回命令是

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

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

“System.ExecutionEngineException”类型的未处理异常 发生在 AspNet.Security.OpenIdConnect.Extensions.dll 中

该项目在我的 Mac 和 Windows 上都能正常编译。当我从 Visual Studio 2017 for 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 的问题。

提前致谢!

【问题讨论】:

  • 这是在推送到我们使用的 MyGet.org 提要的预发布包中引入的重大更改的表现(您可能会参考)。按照stackoverflow.com/a/46715074/542757 的指示删除软件包,它应该可以工作。
  • 谢谢。刚刚自己找到了解决方案。如果您愿意,请将您的评论发布为解决方案答案,我会将其标记为解决方案:-)

标签: windows macos visual-studio .net-core openiddict


【解决方案1】:

我通过删除 C:\Users\Me\.nuget 的内容解决了这个问题。

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

【讨论】:

    猜你喜欢
    • 2018-03-06
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多