【发布时间】:2022-01-10 07:44:07
【问题描述】:
我正在将一个本地登录身份页面搭建到一个已经具有默认身份的 asp.net 核心解决方案中。我这样做是为了自定义我的登录页面。
在我的期末考试之前,我已经使用两个使用相同基本代码并安装了更多软件包的测试应用程序成功地做到了这一点。
对于我的应用,当我发出以下命令时,我收到此错误:
PM> dotnet-aspnet-codegenerator identity --dbContext ApplicationDbContext
Failed to get Project Context for C:\Users\...\rollbase.csproj.
To see more information, enable tracing by setting environment variable 'codegen_trace' = 1
docs 中没有关于'codegen_trace' 的信息。
我已经搜索并发现了很多关于这个错误的引用。但找不到任何东西:
- 什么是“项目上下文”
- 如何使用“codegen_trace”
解决方案构建成功。
我一直非常小心地跟踪所涉及的包裹
Microsoft.VisualStudio.Web.CodeGeneration.DesignMicrosoft.AspNetCore.Identity.EntityFrameworkCoreMicrosoft.AspNetCore.Identity.UIAzure.Identity
使用
<TargetFramework>net5.0</TargetFramework>dotnet-aspnet-codegenerator' (version '5.0.0')dotnet sdk 5.0.403Microsoft.NETCore.App 5.0.12
大多数帖子都在谈论回滚工具版本/包等。我想知道是否有人实际上可以指出可靠的调试策略。
我在下面的这个问题中添加信息
使用提供的帮助 - codegen_trace 的输出
Microsoft.Extensions.ProjectModel.MsBuildProjectContextBuilder.Build()
/_/src/Ext.ProjectModel.MsBuild.Sources/MsBuildProjectContextBuilder.cs:line 56
At Microsoft.VisualStudio.Web.CodeGeneration.Tools.Program
.GetProjectInformation(String projectPath, String configuration) in
/_/src/dotnet-aspnet-codegenerator/Program.cs:line 290
At Microsoft.VisualStudio.Web.CodeGeneration.Tools.Program
.BuildAndDispatchDependencyCommand(String[] args,
String projectPath, String buildBasePath, String configuration, Boolean noBuild, ILogger logger)
in /_/src/dotnet-aspnet-codegenerator/Program.cs:line 173
Microsoft.VisualStudio.Web.CodeGeneration.Tools.Program
.<>c__DisplayClass19_0.<Execute>b__0() in
/_/src/dotnet-aspnet-codegenerator/Program.cs:line 129
从这个输出看来,安装包 Microsoft.VisualStudio.Web.CodeGeneration.Tools 5.0.2 中存在问题
我已尝试在 Visual Studio 2019(最新)中将包更新为 6.0,0,但得到以下结果:
NU1202: Package Microsoft.VisualStudio.Web.CodeGeneration.Design 6.0.0 is not compatible with net5.0 (.NETCoreApp,Version=v5.0). Package Microsoft.VisualStudio.Web.CodeGeneration.Design 6.0.0 supports: net6.0 (.NETCoreApp,Version=v6.0)
我查看了该项目的 github 存储库,但找不到任何有关与 .NETCoreApp,Version=v5.0 兼容性的文档
参考原错误信息:
PM> dotnet-aspnet-codegenerator identity --dbContext ApplicationDbContext
Failed to get Project Context for C:\Users\...\rollbase.csproj
我已经比较了代码生成器工作的项目的 .csproj 文件与代码生成器无法获取项目上下文的项目。
主要区别在于属性组。
代码生成器工作:
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<UserSecretsId>aspnet-testbase1-57C4221E-46E9-4653-A734-4C412F7C523D</UserSecretsId>
</PropertyGroup>
找不到项目上下文的地方:
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<UserSecretsId>aspnet-rollbase-6D7D2449-EB25-45CE-A8D3-EDAB69CDCAB3</UserSecretsId>
<RootNamespace></RootNamespace>
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<AssemblyName />
<PackageId />
<EnableNETAnalyzers>false</EnableNETAnalyzers>
</PropertyGroup>
【问题讨论】:
-
您能分享一下
rollbase.csproj文件的内容吗?
标签: asp.net-core asp.net-identity code-generation