我创建了一个内置于 .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 身份平台作为身份验证类型。
如果我们没有选择上述身份验证类型。尝试在项目中安装名为 Microsoft.Identity.Web 的
Nuget 包
,然后尝试使用租户配置 MS IDENTITY PLATFORM。按照上述步骤就配置成功了。
欲了解更多信息,请参阅以下链接:
关于c# - Visual Studio 2022 中的 Microsoft Identity Platform 依赖项配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70599474/