【发布时间】:2020-12-06 00:08:34
【问题描述】:
我刚刚使用dotnet new mvc --name test-project (netcoreapp3.1) 创建了一个 MVC 应用程序,没有任何类型的数据库访问和身份,我想手动添加以进行自定义。然后我添加了一些包以便使用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.
即使我使用-p 标志指定.csproj 文件,我仍然会收到相同的消息。
在进行一些研究时,我在他们的仓库中发现了 this 问题,但这是另一回事:OP 试图使用 3.1 脚手架版本将脚手架添加到 .NET Core App 3.0。
我在 Xubuntu 20.04 上使用 dotnet 3.1.401。
有什么想法吗?提前谢谢你。
编辑 1
有人建议这将接近我们所拥有的 here,但问题是:我知道它的作用,并且我实际上添加了该文章中建议的“全局工具”。问题是aspnet-codegenerator 没有检测到我已经拥有它需要的库,添加到.csproj 文件中。
编辑 1
显然,有几个人也面临这个问题,所以,我在他们的 repo 上提交了issue
【问题讨论】:
-
您之前是否恢复过软件包?
dotnet restore -
@tym32167 是的,我做到了。即使在做了
dotnet clean、dotnet restore和dotnet build之后,它在这里也不起作用,不幸的是 -
@RoarS。不幸的是没有。请参考我的编辑。无论如何,谢谢你的建议。
标签: c# asp.net-core .net-core code-generation asp.net-core-scaffolding