2016-06-22 15 views
20

Wenn Sie versuchen, über die Befehlszeile im obersten Verzeichnis einer Lösung mit Visual Studio gemacht laufen:.Net Kern bauen eine Lösung

dotnet build 

Meine Lösung ist architectured wie folgt aus:

MySolution.sln 
    > src 
     > MyProject1 
      > project.json 
     > MyProject2 
      > project.json 
    > test 
     > MyProject.Test 
      > project.json 

es wird mit dem folgenden Fehler fehlschlagen:

Couldn't find 'project.json' in current directory 

Wie konnte ich die Lösung zu erstellen, ohne jedes Projekt explizit angeben zu müssen (und dann ohne die damit verbundene Wartung)?

+0

Was war die Frage? –

+0

@berkser Es sollte jetzt klarer sein – Fab

Antwort

29

Sie können Platzhalter wie diese aus dem obersten Verzeichnis (wo die .sln liegt) verwenden.

  • Mit dem project.json in SolutionDir/Src/ProjectName:

    dotnet build */**/project.json

  • Wenn project.json in SolutionDir/ProjectName:

    dotnet build **/project.json

+0

@berkser getan. Danke für das Feedback – Fab

+4

Ich musste die Antwort ändern, damit es funktioniert: dotnet build **/project.json – Sean

+0

U könnte Tool wie Flubu (fließend Builder) verwenden, um Dinge einfacher zu machen. Mehr über: http://stackoverflow.com/questions/40890522/choice-for-build-tool-msbuild-nant-or-something-else/42513062#42513062 – Stan88

0

Um zur Antwort hinzuzufügen, wenn Sie das Projekt veröffentlichen, verwenden Sie dotnet publish src\MyProject1\, um alle Dateien zu veröffentlichen.

Die Veröffentlichung enthält Dateien, die in project.json enthalten sind.