2017-09-06 4 views
0

Lassen Sie uns sagen, ich habe csproj und wenn ich msbuild von der Kommandozeile darauf laufen, erzeugt es ein Ziel TaskCli.dllWie laufen csproj auf .net Runtime

msbuild TaskCli.csproj
TaskCli -> bin\Debug\TaskCli.dll

Welches Werkzeug sollte ich verwenden, um die TaskCli.dll auszuführen? Ich benutze .net Framework 4.5.

Bearbeiten: Ich habe den Ausgabetyp als Konsolenanwendung und Msbuild geändert, eine EXE-Datei zu generieren. Dann kann ich die .exe-Datei über die Befehlszeile ausführen. Danke für all deine Hilfe.

TaskCli -> bin\Debug\TaskCli.exe

+0

Sind mit .net Kern oder "classic .net" (=> Was ist das Zielframework?) –

+0

classic .net Framework – Ulka

+0

Also haben Sie eine Bibliothek gebaut? (=> dll) Was erwarten Sie von einer Bibliothek, die keinen Einstiegspunkt (Hauptfunktion) hat? –

Antwort

1

Dynamic Link Libraries (DLL ), erstellt mit dem .net Framework, sind nicht direkt ausführbar.

Add-Type -Path "..\TaskCli.dll" 
$yourClass = new-object YourNamespace.YourClass 
$yourClass.yourMethod("myParameter") 

Eine weitere Commandline Option RUNDLL32 verwendet, mit dem Sie eine Funktion aus einer DLL exportiert aufzurufen:

Eine Option für diese Prüfung, ohne ausführbare PowerShell wäre

Sie
RUNDLL32.EXE <dllname>, <entrypoint> <optional arguments> 
+0

Hmm, dotnet core Laufzeit kann ich DLL ausführen. Wenn das Projekt auf dotnet-Core ausgerichtet ist, kann ich es wie 'dotent TaskCli.dll' ausführen – Ulka

+0

@Ulka Sie können' .NET Framework' und '.NET Core' nicht kreuzen. Dies sind unterschiedliche Rahmenbedingungen. – Smartis

+0

Ich weiß, .NET Core erlaubt mir, dll zu laufen, ich frage mich, gibt es eine Möglichkeit für .NET-Framework. – Ulka

Verwandte Themen