2016-04-19 13 views
5

bestimmen, wann ich mein Projekt mitWie Ausgabeordner von dnu/Dotnet publish

dotnet publish

es veröffentlichen Ausgänge in einen Ordner

bin/Debug/dnxcore50/osx.10.11-x64/publish

(oder vielleicht in der Release-Äquivalent)

Ist es möglich, diesen Ordnerstandort für ein postpublish-Skript zu ermitteln, das in der Datei project.json angegeben ist Datei?

Antwort

11

Dank der schnellen Antwort auf den Dotnet/CLI GITTER-Kanal können Sie. Die folgenden Variablen stehen zur Verfügung:

%publish:ProjectPath% 
%publish:Configuration% 
%publish:OutputPath% 
%publish:TargetFramework% 
%publish:FullTargetFramework% 
%publish:Runtime% 

Source

Und hier sind die, die für pre/postcompile:

%compile:TargetFramework% 
%compile:FullTargetFramework% 
%compile:Configuration% 
%compile:OutputFile% 
%compile:OutputDir% 
%compile:ResponseFile% 
%compile:RuntimeOutputDir% 
%compile:RuntimeIdentifier% 
%compile:CompilerExitCode%  // postcompile only 

Source

+2

Diese irgendwo dokumentiert werden sollen ... überall! 'project.json' ist eine Blackbox, es sei denn, man kann den Quellcode finden und analysieren. – Robula

+0

@BradRobinson Ich verstehe nicht genau, wie man diese Variablen verwendet. Ich kann zB OutputPath mit '' anzeigen, aber nicht mit% compile: OutputPath%. Weil ich wissen möchte, wie man den REAL OutputPath bekommt, wenn ich es zeige, bekomme ich _. \ Bin_ statt _. \ Bin \ Debug \ net461 \ win7-x64_ –

+1

@ JérômeMével Die oben genannten Variablen sind für den Einsatz in Ihre 'project.json' Datei. Ich glaube nicht, dass es einen Weg gibt, 'bin \ Debug \ net461 \ win7-x64' von MSBuild zu lösen. Die Verwendung von '% compile: RuntimeOutputDir%' in 'project.json' wird jedoch zu' D: \ ... \ \ bin \ Debug \ net461 \ win7-x64' – Robula