2016-07-05 28 views
10

Ich versuche, eine .net Kern MVC Anwendung selbst zu hosten. Es funktioniert gut mit allen .cs Dateien. Als ich es veröffentlicht (dotnet publish -f netcoreapp1.0 -c release) durch Befehlsfenster wird es zeigt die folgende Fehlermeldung:Kann Binärdateien in .net-Kern nicht veröffentlichen

No executable found matching "bower"

und ich versuchte sogar, mit VS. Veröffentlichung Es erzeugt die Binärdateien. Aber wenn ich dotnet run befehligt es prompt erhalte ich diese Fehlermeldung:

project file does not exist 'project.json'

Kann jemand empfehlen, wie selbst mit Binärdateien Hosting zu tun?

enter image description here

enter image description here

+0

Wie Sie das Problem mit 'Dotnet run' lösen? – Lcng

Antwort

15

Wenn von der Befehlszeile den dotnet publish Befehl ausgeführt wird, müssen Sie sicherstellen, dass Ihre Pfadvariablen die relevanten alle Standorte enthält.

Wenn Sie einen Befehl veröffentlichen innerhalb von Visual Studio, und schauen Sie sich die Ausgabe im „Build“ Fenster, werden Sie feststellen, dass es die Pfadvariable aktualisiert, bevor das Veröffentlichungs Befehl ausführen:

enter image description here

in der Befehlszeile, können Sie dies erreichen etwas wie SET Path=%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;

In Powershell sein indem Sie festlegen können, es als

$env:path += ";C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;" 
012 in dieser Ausgabe

Sie können GitHub schauen auch: No executable found matching command "bower"

Was Ihre dotnet run Frage, haben Sie diesen Befehl in demselben Verzeichnis auszuführen, die project.json Datei enthält, oder verwenden Sie die Option -p|--project den Speicherort angeben der Projektdatei. Geben Sie dotnet run --help in der Befehlszeile für weitere Informationen ein.

+0

Es veröffentlicht Binärdateien im Ordner "bin \ Debug \ netcoreapp1.0 \ win10-x64 \ publish". Wenn ich diesen Ort sehe, konnte ich die Datei "Project.json" nicht sehen. Sogar ich habe die Datei "project.json" nach oben kopiert und in der Befehlszeile "dotnet run" ausgeführt. Aber es gibt "das System kann die angegebene Datei nicht finden". – sanjeev

+0

Wenn Sie dotnet publish ausführen, erhalten Sie Binärdateien (wie Sie bereits erwähnt haben). Project.json ist in diesem Kontext nicht notwendig, da Sie einfach die exe ausführen können, die generiert wurde. – JC1001