c# - Visual Studio 2022 中的 Microsoft Identity Platform 依赖项配置

标签 c# azure asp.net-core .net-core

我创建了一个内置于 .NET 6.0 的 Azure 应用服务并将其发布到 Azure。在“发布”页面中,它检测到对 Microsoft Identity Platform 的服务依赖性,我正在尝试对此进行配置。它运行向导,并在最后一步尝试运行以下命令:

dotnet msidentity --update-project --tenant-id {myTenantId} --username {myUsername} --client-id {myClientId} --project-file-path "C:\Projects\MyProject.csproj" --calls-graph=False --calls-downstream-api=False --code-update=true --json

此命令失败:

   at System.Linq.ThrowHelper.ThrowNoElementsException()
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
   at Microsoft.DotNet.Scaffolding.Shared.Project.ProjectModifierHelper.GetStartupClassName(Document programDoc) in /_/src/Shared/Microsoft.DotNet.Scaffolding.Shared/Project/ProjectModifierHelper.cs:line 94
   at Microsoft.DotNet.Scaffolding.Shared.Project.ProjectModifierHelper.IsMinimalApp(Project project) in /_/src/Shared/Microsoft.DotNet.Scaffolding.Shared/Project/ProjectModifierHelper.cs:line 50
   at Microsoft.DotNet.MSIdentity.CodeReaderWriter.ProjectModifier.AddAuthCodeAsync() in /_/src/MSIdentityScaffolding/Microsoft.DotNet.MSIdentity/CodeReaderWriter/ProjectModifier.cs:line 54
   at Microsoft.DotNet.MSIdentity.AppProvisioningTool.UpdateProject(TokenCredential tokenCredential, ApplicationParameters applicationParameters, ProjectDescription projectDescription) in /_/src/MSIdentityScaffolding/Microsoft.DotNet.MSIdentity/Tool/AppProvisioningTool.cs:line 728
   at Microsoft.DotNet.MSIdentity.AppProvisioningTool.Run() in /_/src/MSIdentityScaffolding/Microsoft.DotNet.MSIdentity/Tool/AppProvisioningTool.cs:line 143
   at Microsoft.DotNet.MSIdentity.Tool.Program.HandleUpdateProject(ProvisioningToolOptions provisioningToolOptions) in /_/tools/dotnet-msidentity/Program.cs:line 154
   at System.CommandLine.Invocation.CommandHandler.GetExitCodeAsync(Object value, InvocationContext context)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass23_0.<<UseParseErrorReporting>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass27_0.<<UseVersionOption>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass25_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__24_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseParseDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass11_0.<<UseDebugDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<<UseExceptionHandler>b__0>d.MoveNext()
ErrorFailed to configure Code.
Calling dotnet msidentity CLI tool...
ErrorFailed to configure dependency Microsoft identity platform identityapp1.

如何解决这个问题?

最佳答案

要使用 ASP.NET Core Web 应用在 VS 2022 中配置 Microsoft 身份平台,我在自己的环境中进行了尝试,

  • 在创建应用程序时,我们可以选择Microsoft 身份平台作为身份验证类型。

enter image description here

  • 如果我们没有选择上述身份验证类型。尝试在项目中安装名为 Microsoft.Identity.WebNuget 包,然后尝试使用租户配置 MS IDENTITY PLATFORMenter image description here

  • 按照上述步骤就配置成功了。

enter image description here

欲了解更多信息,请参阅以下链接:

关于c# - Visual Studio 2022 中的 Microsoft Identity Platform 依赖项配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70599474/

相关文章:

azure - 为什么在requirements.txt中添加chromadb会导致Azure部署失败

c# - 如何使 mainMenuStrip 在 Windows 窗体应用程序中看起来有光泽

c# - Matrix Row - QuickSort递归问题

c# - Exception 对象是否可能由于其内部错误而引发另一个异常?

azure - Azure 数据工厂中的复制事件

azure - 在 CQRS 中实现基于集合的约束

asp.net - 没有 Duende 身份服务器的 Blazor

c# - 在构建配置中设置 aspnetcore_environment

mysql - 如何在.net core中使用ado.net或 Entity Framework 使用MySql数据访问方法

c# - EF Code First 不为 ICollection<string> 生成表