Microsoft.VisualStudio.Web.CodeGeneration.Designがdotnetaspnet-codegeneratorツールで見つかりません

Aug 16 2020

dotnet new mvc --name test-projectnetcoreapp3.1)を使用してMVCアプリを作成しましたが、データベースへのアクセスとIDは一切使用せず、カスタマイズのために手動で追加したいと思います。次に、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、はリストの最初です。ただし、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、同じメッセージが表示されます。調査を行っているときに、この問題がリポジトリで見つかりましたが、それは別のことです。OPは、3.1スキャフォールダーバージョンを使用してスキャフォールダーを.NET Core App3.0に追加しようとしていました。

Xubuntu20.04でdotnet3.1.401を使用しています。

何かご意見は?前もって感謝します。

編集1これは私たちがここに持っているものに近いだろうと提案する人もいましたが、問題は次のとおりです。私はそれが何をするかを知っており、実際にその記事で提案された「グローバルツール」を追加しました。問題はaspnet-codegenerator.csprojファイルに追加された、必要なライブラリがすでにあることを検出していないことです。

編集1

どうやら、この問題に直面している人も何人かいるので、私は彼らのレポに問題を提出しました

回答

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

ここに関連トピック