2016-06-22 26 views
20

如果试图在命令行中使用Visual Studio做了一个解决方案的顶级目录运行:对.NET核心构建的解决方案

dotnet build 

我的解决方案是architectured这样的:

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

它会失败,出现以下错误:

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

我怎么能构建解决方案,而无需显式地指定每个项目(和那么没有相关的维护)?

+0

问题是什么? –

+0

@berkser现在应该更清楚了 – Fab

回答

29

您可以使用类似于顶级目录(其中包含.sln)的通配符。

  • 随着project.jsonSolutionDir/Src/ProjectName

    dotnet build */**/project.json

  • 如果project.jsonSolutionDir/ProjectName

    dotnet build **/project.json

+0

@berkser完成了。感谢您的反馈 – Fab

+4

我不得不修改答案以使其正常工作: dotnet build **/project.json – Sean

+0

U可以使用像flubu(流利的构建器)这样的工具来简化操作。更多关于:http://stackoverflow.com/questions/40890522/choice-for-build-tool-msbuild-nant-or-something-else/42513062#42513062 – Stan88

0

要添加回答,如果您要发布项目,请使用dotnet publish src\MyProject1\发布所有文件。

发布将包含定义包含在project.json中的文件。