Verwenden Sie GNU Make. Ich benutze es, um meine Projekte zu bauen. Alles, was Sie tun müssen, erstellen Sie ein Makefile in Ihrem Projektstammordner. Sie können Makefiles in Verzeichnissen verschachteln und haben ein Makefile auf oberster Ebene, das die Unterverzeichnisse ausführt. dann richten Sie Makefiles für jeden Ihrer "Sub Projects" -Ordner ein und führen ein beliebiges Comandline-Tool aus. mit dotnet core is is dotnet.
Warten ... GNU - "GNU ist nicht Unix", das ist eine Unix/Linux-Anwendung ... Ich laufe Windows. Nun, die gute Nachricht ist, dass Sie dies in Windows tun können. Ich benutze make.exe über meine Git-Bash-Installation (git für Windows). Du musst den Cygwin Port of Make finden. (google: "make for git-bash") Dann installiere es in dein bin-Verzeichnis unter dem cygwin-Ordner. Sie könnten auch einfach Cygwin installieren, wenn Sie das wirklich wollten.
Das Schöne an Gnu-Make ist, dass es universell ist. Da dotnet core plattformunabhängig ist, ist jede Umgebung von Mac/FreeBSD/Linux "make" höchstwahrscheinlich bereits installiert. Das Hinzufügen zu Ihrer Windows-Maschine und Projekten macht mir sehr viel Sinn. Da kannst du dein Projekt nun von jedem auf die gleiche Weise erstellen.
einige meiner Projekte müssen Docker Container mit Dockerfiles oder Snap-Pakete zu erstellen, zu testen, etc ... machen (verzeiht das Wortspiel) macht es einfach.
Hier ist ein Beispiel für einfache Projekte Makefile. Das Ausführen von make selbst ist wie "make all" zu sagen, man könnte einen Befehl wie 'cd ./subdir; machen Sie 'als eine Ihrer .phoney-Anweisungen.(Google: „Makefile-Dokumentation“)
project_drive?=/c/prj
nuget_repo_name?=Local_Nuget_Packages
local_nuget_dir?=$(project_drive)/$(nuget_repo_name)
RELEASE_VERSION:= `grep "<Version>" *.csproj | cut -d '>' -f 2 | cut -d '<' -f 1`
.PHONEY: clean release test doc nuget install debug_nuget debug_install
all: doc MSBuild
test:
./test.sh
MSBuild:
dotnet build
clean:
dotnet clean; dotnet restore
release:
dotnet build -c Release
doc:
doxygen ./Doxyfile.config
nuget: release
dotnet pack -c Release
install:
cp ./bin/Release/*.$(RELEASE_VERSION).nupkg $(local_nuget_dir)
debug_nuget: MSBuild
dotnet pack
debug_install:
cp ./bin/debug/*.$(RELEASE_VERSION).nupkg $(local_nuget_dir)
Ok Ihre letzte Bemerkung hat mich erkennen, dass, wenn im Beispiel sagt über 'web' hängt von' Modell ', dann müssen Sie nicht auf CD in das Modell Ordner zuerst bauen es - du kannst einfach "dotnet build" im web ordner erstellen und es wird "model" kompilieren - – wal