【问题标题】:Microsoft Identity Platform dependency configuration in Visual Studio 2022Visual Studio 2022 中的 Microsoft Identity Platform 依赖项配置
【发布时间】:2022-01-05 20:55:46
【问题描述】:

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

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.

我该如何解决这个问题?

【问题讨论】:

  • 在升级到 .Net 6 时,StartupClassName(在控制台应用程序中)确实存在一些问题,最终不得不在项目中明确指定 Main 的位置

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


【解决方案1】:

要在 VS 2022 中使用 ASP.NET Core 网络应用程序配置 Microsoft identity platform,我在我的环境中尝试过,

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

  • 如果我们没有选择上述认证类型。尝试在您的项目中安装名为 Microsoft.Identity.WebNuget package,然后尝试使用您的租户配置 MS IDENTITY PLATFORM

  • 按照以上步骤配置成功。

更多信息请参考以下链接:

【讨论】:

    猜你喜欢
    • 2022-01-01
    • 2022-01-25
    • 2016-12-24
    • 2021-11-28
    • 2022-12-01
    • 1970-01-01
    • 2017-04-06
    • 2010-10-14
    • 2021-12-27
    相关资源
    最近更新 更多