Ich versuche dotnet aspnet-codegenerator
von meinem Comand-Linie zu laufen. Das erste Mal habe ich versucht, habe ich den Fehler No executable found matching command "dotnet-aspnet-codegenerator"
dotnet core PackageReference vs DotNetCliToolReference
mir klar, ich brauchte die aspnet-codegenerator
als „dotnet CLI-Tool“ (Teil ihrer extensibility model ermöglicht das Hinzufügen CLI installieren Befehle, wenn ich das richtig <DotNetCliToolReference>
Element in die csproj Datei enthalten.)
This answer sagt mir, was ich brauche <DotNetCliToolReference>
, also <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" />
aber es lässt mich mit ein paar Fragen:
- Kann ich installieren, dass die Befehlszeile Ratte mit sie als Hand-Bearbeitung der csproj?
- Ich bemerke ich Pakete mit dem Befehl
dotnet add package
installieren kann, aber fügt hinzu, dass das Element<PackageReference>
und ich brauche<DotNetCliToolReference>
; - das heißt den Befehl Ausführen dieses (falsche) Element erzeugen würde:
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" />
- Ich bemerke ich Pakete mit dem Befehl
- Was ist der Unterschied zwischen diesen beiden Elementen?
- Kann ich sie zu demselben
<ItemGroup>
hinzufügen? - Wenn ich eine
csproj
, dessen erste und<ItemGroup>
enthält nur ein<DotNetCliToolReference>
, dann alle nachfolgendendotnet add package
Befehle fehlschlagen:error: Invalid restore input. Invalid restore input. DotnetCliToolReference-BundlerMinifier.Core Input files:
. - Meine Abhilfe ist:
dotnet add package
- Nach fertigen jede bestehende
DotNetCliToolReference
Elemente - Lauf entfernen, fügen Sie das zurück, was ich entfernt.
- Kann ich sie zu demselben
(Ich bin in Visual Studio-Code und die aktuelle Verwendung, so sind wir csproj verwenden, nicht project.json)
Super, danke. Nur noch eine Frage, ein Trick, um das neueste Version-Attribut zu finden? Wenn ich 'dotnet add package' verwende und Versionsargument, das resultierende Element, weglasse, repräsentiert sein Versionsattributwert den neuesten? Irgendein anderer Trick, um die neueste Version zu bekommen? Vielleicht könnte ein Versionsmuster funktionieren? –
'dotnet add package' wählt die neueste Version aus, aber Sie können auch Platzhalter wie' 9. * 'übergeben und diese in die Projektdatei schreiben. Dies ist jedoch in der Praxis ein wenig gefährlich, da Sie möglicherweise unterschiedliche Ergebnisse erhalten, wenn Pakete aktualisiert werden und Ihr Build nicht "reproduzierbar" ist. Aber es ist nützlich für Vorabversionen (z. B. '1.2.3-preview1- *'). –