Никакие исполняемые файлы, найденные, соответствуя команде 'dotnet-aspnet-codegenerator'"

При попытке добавить Контроллер на предприятии Visual Studio 15 использования проекта Ядра ASP.NET с Обновлением 3, я получаю ошибку ниже:

"The was an error running the selected code generator: No executables found matching command 'dotnet-aspnet-codegenerator'"

62
задан 3 January 2017 в 21:34

11 ответов

Если Вы используете csproj (Visual Studio 2017) вместо project.json, то необходимо добавить следующее к csproj файлу:

    <ItemGroup>
        <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" />
    </ItemGroup>
151
ответ дан 31 October 2019 в 13:16

Для последней версии, в project.json добавляют следующее под зависимостями:

"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
  "version": "1.1.0-preview4-final",
  "type": "build"
},
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
  "type": "build",
  "version": "1.1.0-preview4-final"
}

и следующее под инструментами:

"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
  "version": "1.1.0-preview4-final",
  "imports": [
    "portable-net45+win8"
  ]
}
8
ответ дан 31 October 2019 в 13:16

Более устойчивый ответ, чем копирование номеров версий в Ваш конфигурационный файл должен использовать NuGet, чтобы гарантировать, что пакеты добавляются к Вашему проекту.

Инструменты-> Диспетчер пакетов NuGet-> Управляют Пакетами NuGet для Решения.

Первый, получите все актуальное. Выберите вкладку Updates. Установите флажок для Обновления Все и выполните это несколько раз. Не удивляйтесь, понижает ли некоторый материал эти первые два раза, Вы выполняете обновление. Некоторые зависимости, кажется, должны быть обработаны последовательно. Мне потребовались приблизительно 5 обновлений для получения всего актуального.

Затем на вкладке обзора, ищут CodeGeneration.Tools. Установите его. Сделайте то же для CodeGenerators.Mvc. Поскольку Вы находите дополнительные сообщения об ошибках, необходимо смочь найти любые недостающие пакеты в NuGet.

6
ответ дан 31 October 2019 в 13:16

При использовании Mac (OS X) или какое-либо поддерживаемое распределение Linux необходимо работать:

dotnet tool install --global dotnet-aspnet-codegenerator --version 2.2.3

Кроме того, на Mac я добавил к моему .zshrc (или эквивалентный удар)

export PATH=$HOME/.dotnet/tools:$PATH

, И я должен был удостовериться, что перезапустил Терминал.

4
ответ дан 31 October 2019 в 13:16

Добавьте следующее к своему project.json:

Под зависимостями:

"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
    "version": "1.0.0-preview2-final",
    "type": "build"
}

инструменты Under:

"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
    "version": "1.0.0-preview2-final",
    "imports": [
        "portable-net45+win8"
    ]
}
  • Номер версии может измениться, в зависимости от которой версии.NET Core Вы используете в своем проекте
  • , можно получить другую ошибку о Microsoft. DotNet. Пропавшие без вести InternalAbstractions, в этом случае необходимо будет добраться от NuGet
  • , Удостоверяются "Microsoft. VisualStudio. Сеть. CodeGeneration. Инструменты" версия в зависимостях соответствуют "Microsoft. VisualStudio. Сеть. CodeGeneration. Инструменты" версия в инструментах
3
ответ дан 31 October 2019 в 13:16

В dotnet базовых 2.1.1 Вы ожидали бы, что ситуация изменилась, и Вы, возможно, не должны добавлять много. Я сожалею, что раздражал Вас, но ситуация - то же и все, что необходимо сделать, теперь обновление версия инструмента или пакета, который Вы хотите использовать.

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

Это работало на меня. Я надеюсь, что это еще работает на eveyone, который застревает здесь. Обратите внимание, что ключевая ссылка DotNetCliToolReference не PackageReference

3
ответ дан 31 October 2019 в 13:16
  1. я должен был добавить следующее к своему файлу CSProj:

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0-msbuild3-final" />
    <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0-msbuild3-final" />
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0-msbuild3-final" />
</ItemGroup>
  1. После добавления, что я установил CodeGenerators. Mvc с диспетчером пакетов самородка.

  2. я все еще получал ошибку при высказывании, что она не может найти некоторый файл в папке MCD, таким образом, я должен был скопировать и вставить всю bin\Debug\netcoreapp1.1 папку в bin\MCD\Debug\netcoreapp1.1

, я выполнил леса, и она работала!

2
ответ дан 31 October 2019 в 13:16

Я встретился с той же проблемой в Visual Studio Выпуск 2017 Сообщества Mac. До выполнения эти scaffold команда от каталога проекта, удостоверьтесь, что каталог имеет Program.cs, Startup.cs и .csproj файлы. в противном случае затем выполните команду ls-al и затем cd в каталог проекта, который был бы в Вашем текущем каталоге проекта и затем выполнился бы эти scaffold команда. Очевидная ошибка многие пропускают.

2
ответ дан 31 October 2019 в 13:16

Просто добавьте, отмечают 'DotNetCliToolReference' и дизайн кода пакета на .csproj, и выполняют код - генерируют команду на корневом решении . Это работало мне.

команда PS C:\Users\miche\projetos\asp_net_core\crud> dotnet aspnet-codegenerator controller -name ProdutosController -m Produto -dc AppDataContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries

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

<ItemGroup> ... <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.3" /> </ItemGroup>

не забывает создавать и восстанавливать решение после того, как добавят пакет ;)

1
ответ дан 31 October 2019 в 13:16

Для VS 2015, в project.json файле -

под зависимостями добавляют -

"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
  "version": "1.0.0-preview2-final",
  "imports": [
    "portable-net45+win8"
  ]
},
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.0.0-preview2-final"

затем под инструментами, добавляют -

"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
  "version": "1.0.0-preview2-final",
  "imports": [
    "portable-net45+win8"
  ]
} 
0
ответ дан 31 October 2019 в 13:16

В Visual Studio Код изменяют Ваш yourproject.csproj

<pre>
<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.1.4" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.6" PrivateAssets="All" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" version= "2.1.0-preview1-final" />
    <PackageReference Include="Microsoft.Extensions.SecretManager.Tools" version= "2.0.2" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
  </ItemGroup>
  <ItemGroup>
  <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.2" />
  <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" version="2.1.0-preview1-final" />
  </ItemGroup>`enter code here`
</pre>
0
ответ дан 31 October 2019 в 13:16

Другие вопросы по тегам:

Похожие вопросы: