asp.net-mvc – 添加Razor View时VS2017 ASP .NET Core错误

当我右键单击文件夹Add-> View以添加Razor View时:

《asp.net-mvc – 添加Razor View时VS2017 ASP .NET Core错误》

我收到以下错误:

找不到与命令dotnet-aspnet-codegenerator匹配的可执行文件

《asp.net-mvc – 添加Razor View时VS2017 ASP .NET Core错误》

从最初的在线搜索,我找不到解决方案.我已经在一些项目上工作 – 但无法想出如何解决这个问题!我重新安装了VS2017,但问题仍然存在.

我怀疑它是项目中的一部分.我已经尝试读取代码生成相关的包但仍然存在问题.

这是我的csproj包和工具参考:

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

    <PropertyGroup>
        <TargetFramework>net462</TargetFramework>
        <RuntimeIdentifier>win7-x86</RuntimeIdentifier>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
        <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
        <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.1.1" />
        <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="1.1.1" />
        <PackageReference Include="Microsoft.AspNetCore.Identity" Version="1.1.1" />
        <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.1" />
        <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
        <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
        <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" PrivateAssets="All" />
        <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" />
        <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.1" PrivateAssets="All" />
        <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0" />
        <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="1.1.1" />
        <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
        <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" />
        <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.1.0" PrivateAssets="All" />
        <PackageReference Include="SimpleInjector.Integration.AspNetCore.Mvc" Version="3.3.2" />
        <PackageReference Include="Telerik.UI.for.AspNet.Core" Version="2017.1.223" />
    </ItemGroup>
    <ItemGroup>
        <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
        <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0" />
        <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
    </ItemGroup>

我也有同样的问题,使用右键单击Add-> Controller添加控制器,所以这不仅限于Razor Views.

这可以从上下文菜单Add-> New Item …-> MVC View Page或Add-> New Item …-> MVC Controller Class中工作.

最佳答案 Currenly我的目标是netcoreapp 1.1,它对我有用.在我粘贴你的csproj后,vs17自动想要安装WPF和桌面的东西,实际上非常糟糕.你能试试我的csproj它适合你吗?我正在调查也许我可以找到一些东西:)

更新:向David Kean(https://twitter.com/davkean)查找推文的最简单方法.他会知道这个问题是什么,他们什么时候会修复它.

<Project Sdk="Microsoft.NET.Sdk.Web">   
  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup>
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.1" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.1.0" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
    <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="Areas\A\Controllers\" />
  </ItemGroup>

</Project>
点赞