2017-04-08 137 views
4

时,当我的文件夹添加 - >查看上点击鼠标右键添加Razor视图:VS2017 ASP .NET核心错误添加Razor视图

Add View Dialog

我得到以下错误:

No executable found matching the command dotnet-aspnet-codegenerator

Error

从最初的在线搜索,我还没有发现一个解决方案。我已经在一些项目上工作 - 但不知道如何解决这个问题!我已经重新安装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> 

我用鼠标右键单击添加 - >控制器过同样的问题,增加Controllers,所以这并不局限于剃刀意见。

这确实从上下文菜单中添加 - >新项...-> MVC查看页面或添加 - >新建项目工作...-> MVC控制器类。

回答

0

我今天晚上再次发生了同样的事情。

我添加了一个Razor View我几乎空的ASP NET核心应用。系统提示我选择一个选项来为项目添加最小的依赖关系或完全依赖关系。

我选择了最小的相关然后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文件中工作 - 该视图已成功脚手架。

1

Currenly我针对netcoreapp 1.1,它为我工作。在我粘贴你的csproj vs17后,自动想要安装实际上非常糟糕的WPF和桌面资料。你可以试试我的csproj它适合你吗?我的调查也许我能找到的东西:)

更新:最简单的方法找出鸣叫大卫·基恩(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> 
+0

我确实尝试过,但仍然得到相同的错误。我已经重新安装了我的windows 10和vs2017,所以希望这对新项目来说可以。我放弃了这个解决方案,并且全面生成了新的.net核心项目。我仍然需要迁移出现问题的Web项目。 – Andez