Andez
Andez

Reputation: 5838

VS2017 ASP .NET Core Error when adding a Razor View

When I right click on a folder Add->View to add a Razor View:

Add View Dialog

I get the following error:

No executable found matching the command dotnet-aspnet-codegenerator

Error

From initial searches online, I've not found a solution. I've had this working on some projects - but cannot figure how to resolve this! I've reinstalled VS2017 but the problem still exists.

I suspect it is something in the project. I've tried readding the code generation related packages but still the problem exists.

Here is my csproj Package and Tool references:

<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>

I have the same issue adding Controllers using right-click Add->Controller too, so this is not restricted to Razor Views.

This does work from context menu Add->New Item...->MVC View Page or Add->New Item...->MVC Controller Class.

Upvotes: 4

Views: 2243

Answers (2)

Andez
Andez

Reputation: 5838

I had the exact same thing happen again tonight.

I added a Razor View to my pretty much empty ASP NET Core Application. I was prompted to select an option to add minimal dependencies or full dependencies to the project.

I opted for minimal dependencies then a ScaffoldingReadMe.txt appeared. It read:

ASP.NET MVC core dependencies have been added to the project. However you may still need to do make changes to your project.

1. Add Scaffolding CLI tool to the project:

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" />
</ItemGroup>

I tried adding the view via scaffolding and it failed as before. However, taking on board what the text file said, adding the above XML to the csproj file worked - the view was scaffolded successfully.

Upvotes: 1

Chrissx
Chrissx

Reputation: 357

Currenly I'm targeting netcoreapp 1.1 and it works for me. After I paste your csproj vs17 automatically wants to install WPF and desktop stuffs which pretty bad actually. Could you try my csproj is it works for you? I'm investigation maybe I can found something :)

Update: Easiest way to find out tweet to David Kean ( https://twitter.com/davkean ). He will propably know whats the problem and when will they fix it.

<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>

Upvotes: 1

Related Questions