2017-02-13 3 views
0

In der Vergangenheit habe ich einige einfache C# -Befehlszeilen-Apps erstellt und in ein Verzeichnis eingefügt, das ich meiner Umgebungsvariablen PATH hinzugefügt habe. Zum Beispiel habe ich ein Tool erstellt, um ein zufälliges Bild aus dem aktuellen Verzeichnis zu öffnen. Die ausführbare Datei für das wäre bei:Hinzufügen von .NET Core App zum Befehlszeilenpfad

C:\Users\myuser\Scripts\RandomImage.exe 

Dann würde ich in ein Verzeichnis navigieren ich in ein paar Bilder hatten und ich konnte einfach diese Zeile aus dem Befehl ausführen:

L:\Resources\SourceFiles> RandomImage 

und es wäre Öffnen Sie ein zufälliges Bild. Wie kann ich das mit .NET Core machen? Ich habe die project.json wie angewiesen from the docs geändert.

"version": "1.0.0-*", 
"buildOptions": { 
    "emitEntryPoint": true 
}, 

"dependencies": { 
    "Microsoft.NETCore.App": { 
    "version": "1.0.1" 
    } 
}, 

"frameworks": { 
    "netcoreapp1.0": { 
     "imports": "dnxcore50" 
    } 
}, 

"runtimes": { 
    "win10-x64": {} 
} 

Dann ich den publish Befehl ausführen, der die Laufzeit angibt.

Mit diesem kann ich zum Veröffentlichungsverzeichnis navigieren und meine ausführbare Datei auf jedem Windows 10 (64 Bit) Computer ausführen. Aber ich brauche den vollständigen Pfad zu dieser Datei, um sie von jedem anderen Verzeichnis aus auszuführen. Gibt es eine Möglichkeit, dies mit .NET Core zu tun, ohne den vollständigen Pfad zu benötigen? Ich habe mehrere dieser kleinen Apps und benutze sie von verschiedenen Rechnern. Daher möchte ich nicht für jede Maschine eine Umgebungsvariable hinzufügen.

+0

Ist das Publikationsverzeichnis in Ihrem 'PATH'? –

+0

Das ist ein Teil des Problems. Das Veröffentlichungsverzeichnis benötigt DLLs für die jeweilige App, sodass ich sie nicht mit anderen .NET Core-Apps in einem gemeinsamen Verzeichnis zusammenstellen kann. Ich habe mehrere dieser Apps, die ich von verschiedenen Rechnern verwende. Daher suche ich nach einer Möglichkeit, die es nicht erforderlich macht, für jede App auf jedem Rechner ein Verzeichnis zu meinem Pfad hinzuzufügen. – Shaun

Antwort

0

Eine einfache Möglichkeit, dieses Problem zu lösen (vorausgesetzt, Sie haben dotnet auf Ihrem PATH) wäre ein einfaches CMD-Skript zu erstellen, um das Programm zu starten.

Beispiel

Verzeichnis der CMD ist in (voraussichtlich auf dem Weg sein): C:\Users\myuser\Scripts
Verzeichnis Sie bereitstellen: C:\Users\myuser\Scripts\RandomImage
Name der Datei CMD: RandomImage.cmd

Inhalt des CMD Datei:

@dotnet "%~dp0\RandomImage\RandomImage.dll" %* 

%~dp0ist der Pfad des Skripts selbst
%*Gibt alle Argumente an die DLL

Sie dann es wie folgt verwenden:

L:\Resources\SourceFiles> RandomImage arg1 arg2 
Verwandte Themen