Microsoft.VisualStudio.Web.CodeGeneration.Design ไม่พบโดยเครื่องมือ dotnet aspnet-codegenerator

Aug 16 2020

ฉันเพิ่งสร้างแอป MVC ด้วยdotnet new mvc --name test-project( netcoreapp3.1) โดยไม่มีการเข้าถึงฐานข้อมูลและ Identity ใด ๆ ซึ่งฉันต้องการเพิ่มด้วยมือเพื่อวัตถุประสงค์ในการปรับแต่ง จากนั้นฉันก็เพิ่มแพ็คเกจบางอย่างเพื่อที่จะใช้dotnet aspnet-codegeneratorเครื่องมือนี้ ของฉัน.csprojมีลักษณะดังนี้:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RootNamespace>test_project</RootNamespace>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.7" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.1.7" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.7" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.7">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.7">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="3.1.4" />
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.Design" Version="1.1.0" />
  </ItemGroup>
</Project>

อย่างที่คุณเห็นMicrosoft.VisualStudio.Web.CodeGeneration.Designเป็นรายการแรกในรายการ อย่างไรก็ตามเมื่อฉันพยายามเรียกใช้ scaffolder จากdotnet aspnet-codegeneratorเครื่องมือ (เช่น :) dotnet aspnet-codegenerator identity -hฉันได้รับข้อความต่อไปนี้:

No code generators are available in this project.Add Microsoft.VisualStudio.Web.CodeGeneration.Design package to the project as a NuGet package reference.

แม้ว่าฉันจะระบุ.csprojไฟล์ด้วย-pแฟล็ก แต่ฉันก็ยังได้รับข้อความเหมือนเดิม ขณะทำการวิจัยฉันพบปัญหานี้ใน repo ของพวกเขา แต่มันเป็นสิ่งที่แตกต่าง: OP พยายามเพิ่มโครงใน. NET Core App 3.0 โดยใช้เวอร์ชัน 3.1 scaffolder

ฉันใช้ dotnet 3.1.401 บน Xubuntu 20.04

ความคิดใด ๆ ? ขอบคุณล่วงหน้า.

แก้ไข 1บางคนแนะนำว่าสิ่งนี้ใกล้เคียงกับสิ่งที่เรามีอยู่ที่นี่แต่ประเด็นคือ: ฉันรู้ว่ามันทำอะไรและฉันได้เพิ่ม "เครื่องมือระดับโลก" ที่แนะนำในบทความนั้น ปัญหาคือaspnet-codegeneratorตรวจไม่พบว่าฉันมีไลบรารีที่ต้องการอยู่แล้วเพิ่มลงใน.csprojไฟล์

แก้ไข 1

เห็นได้ชัดว่ามีคนสองสามคนที่ประสบปัญหานี้เช่นกันดังนั้นฉันจึงยื่นเรื่องเกี่ยวกับ repo ของพวกเขา

คำตอบ

1 Blondu Nov 21 2020 at 07:37

ตอนนี้อายุได้สองสามเดือนแล้ว แต่เมื่อเร็ว ๆ นี้ฉันได้พบกับโครงการทั้งหมดของฉัน

ในดินแดนอื่นกรณีที่มีคนในหน้านี้การแก้ปัญหาในกรณีของฉัน (Mac OS) dotnet-aspnet-codegeneratorคือการถอนการติดตั้งและการติดตั้ง

ทำงานในเทอร์มินัล:

dotnet tool uninstall --global dotnet-aspnet-codegenerator

dotnet tool install --global dotnet-aspnet-codegenerator --version 3.1.4

หัวข้อที่เกี่ยวข้องที่นี่