如何解决添加脚手架项目时运行所选代码生成器时出现的错误

问题描述 投票:0回答:2

我已经查看了有关此问题的所有问题,但似乎无法解决。

Visual Studio 2022..Net 6.0.15。布拉佐尔。

我正在尝试在解决方案中为我的项目之一(服务器)提供身份支架。我还将搭建 WASM 项目,但无法完成服务器。我还没有尝试过 WASM。我从 6.0.16 降级到 6.0.15 以匹配 Microsoft.VisualStudio.Web.CodeGeneration(可用的最大版本是 6.0.15)包,但这没有帮助。我尝试升级到 6.0.20,但没有感到高兴。我发布了所有的包,以防有人看到冲突。我不确定这是一个包问题,但它不会让我使用脚手架身份,我认为这是一个相当基本的脚手架操作。

当 Microsoft.EntityFramework.Tools 开始执行时,就会弹出此错误。

项目包:

API:

<PropertyGroup>
   <TargetFramework>net6.0</TargetFramework>
   <Nullable>enable</Nullable>
   <ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
   <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
   <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
</ItemGroup>

业务:

<PropertyGroup>
   <TargetFramework>net6.0</TargetFramework>
   <ImplicitUsings>enable</ImplicitUsings>
   <Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
   <PackageReference Include="AutoMapper" Version="12.0.1" />
   <PackageReference Include="Blazor.Bootstrap" Version="1.7.3" />
   <PackageReference Include="System.Diagnostics.EventLog" Version="7.0.0" />
</ItemGroup>

数据访问:

<PropertyGroup>
   <TargetFramework>net6.0</TargetFramework>
   <ImplicitUsings>enable</ImplicitUsings>
   <Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
   <PackageReference Include="AutoMapper" Version="12.0.1" />
   <PackageReference Include="Blazor.Bootstrap" Version="1.7.3" />
   <PackageReference Include="Microsoft.AspNetCore.Authorization" Version="6.0.15" />
   <PackageReference Include="Microsoft.AspNetCore.Components" Version="6.0.15" />
   <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="6.0.15" />
   <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.15">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
   </PackageReference>
   <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.15" />
   <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.15">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
   </PackageReference>
   <PackageReference Include="System.Diagnostics.EventLog" Version="7.0.0" />
</ItemGroup>

型号:

<PropertyGroup>
   <TargetFramework>net6.0</TargetFramework>
   <ImplicitUsings>enable</ImplicitUsings>
   <Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
   <PackageReference Include="Blazor.Bootstrap" Version="1.7.3" />
   <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.15">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
   </PackageReference>
   <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.15" />
   <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.15">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
   </PackageReference>
   <PackageReference Include="System.Diagnostics.EventLog" Version="7.0.0" />
</ItemGroup>

服务器:

<PropertyGroup>
   <TargetFramework>net6.0</TargetFramework>
   <Nullable>enable</Nullable>
   <ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
   <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
   <PackageReference Include="BitMiracle.Docotic.Pdf" Version="8.8.14015" />
   <PackageReference Include="Blazor.Bootstrap" Version="1.7.3" />
   <PackageReference Include="Microsoft.AspNetCore.Authentication.Negotiate" Version="6.0.15" />
   <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="6.0.15" />
   <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.15">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
   </PackageReference>
   <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.20" />
   <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.15">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
   </PackageReference>
   <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration" Version="6.0.15" />
   <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.15" />
   <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Utils" Version="6.0.15" />
   <PackageReference Include="PSC.Blazor.Components.BrowserDetect" Version="1.0.11" />
   <PackageReference Include="System.Diagnostics.EventLog" Version="7.0.0" />
</ItemGroup>

WASM:

<PropertyGroup>
   <TargetFramework>net6.0</TargetFramework>
   <Nullable>enable</Nullable>
   <ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
   <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.15" />
   <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.15" PrivateAssets="all" />
   <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
asp.net-identity nuget-package asp.net-core-scaffolding
2个回答
1
投票

正如您在我上面的包中看到的,SQLServer 设置为 6.0.20。当我开始搭建脚手架时它就这样做了。我已将其更改为 6.0.15 以匹配其他所有内容,但我没有注意到这正在发生变化。因此,我将 AspNetCore 和 EntityFrameworkCore 中的所有内容移回 6.0.20,并且它有效。我只能推测,当我之前在 6.0.20 尝试时,我错过了一些东西。总而言之,是软件包版本不匹配。我通过手动查看依赖项包发现了这一点,并且发现版本不匹配。我尝试将其转换回 6.0.15,但是当我开始脚手架操作时,它又变回来了。这导致我将所有软件包更改为 6.0.20,它终于起作用了。感谢您花时间阅读本期,希望它对将来的人有所帮助。


0
投票

除了 Steve 的注释之外,我建议您仅将软件包升级到目标 sdk 上的最新版本。写于 2024 年,当时 .net 8 已经发布,我正在为 .net 6 sdk 项目修复此问题。我将所有相关软件包升级到 6.0.28,尽管 8.0.3 是最新的可用版本。

© www.soinside.com 2019 - 2024. All rights reserved.