【问题标题】:VS2017 ASP .NET Core Error when adding a Razor View添加 Razor 视图时出现 VS2017 ASP .NET Core 错误
【发布时间】:2017-06-28 04:07:07
【问题描述】:

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

我收到以下错误:

No executable found matching the command dotnet-aspnet-codegenerator

从最初的在线搜索中,我没有找到解决方案。我已经在一些项目上进行了这项工作 - 但不知道如何解决这个问题!我已经重新安装了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 添加Controllers,所以这不限于 Razor 视图。

这在上下文菜单 Add->New Item...->MVC View Page 或 Add->New Item...->MVC Controller Class 中起作用。

【问题讨论】:

    标签: asp.net-mvc asp.net-core


    【解决方案1】:

    目前我的目标是 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>
    

    【讨论】:

    • 我确实尝试过,但仍然遇到同样的错误。我刚刚重新安装了我的 Windows 10 和 vs2017,所以希望这对于新项目来说没问题。我已经废弃了该解决方案并全面生成了新的 .net 核心项目。我仍然要迁移问题所在的 Web 项目。
    【解决方案2】:

    我今晚又发生了完全相同的事情。

    我在几乎空无一物的 ASP NET Core 应用程序中添加了 Razor View。系统提示我选择向项目添加最小依赖项或完全依赖项的选项。

    我选择了最小依赖项,然后出现了 ScaffoldingReadMe.txt。上面写着:

    ASP.NET MVC 核心依赖项已添加到项目中。 但是,您可能仍需要对项目进行更改。

    1. Add Scaffolding CLI tool to the project:
    
    <ItemGroup>
        <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" />
    </ItemGroup>
    

    我尝试通过脚手架添加视图,但它像以前一样失败。但是,考虑到文本文件所说的内容,将上述 XML 添加到 csproj 文件中是可行的——视图已成功搭建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-16
      • 2023-03-30
      • 1970-01-01
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      相关资源
      最近更新 更多