我很好奇是否有可能在只有dnu build和global.json文件的C#项目上运行MSBuild,并且缺少像.sln和.xproj这样的MSBuild设置。下面是我的目录结构:
LibFoo/
-global.json
-src/
--LibFoo/
---project.json
---QuuxBar.cs
-test/
--LibFoo.Tests
---project.json
---QuuxBarTests.cs当我将cd转到回购根并运行dnu build global.json时,下面是我得到的输出:
$ dnu build global.json
Microsoft .NET Development Utility Mono-x64-1.0.0-rc1-16231
Unable to locate project.json.
Total build time elapsed: 00:00:00.0017763
Total projects built: 1我该怎么办?我应该在目录中找到所有的project.json文件并在它们上运行dnu build吗?有没有办法做到这一点,而不明确了解所有的子项目在回购?
例如,如果这是我的构建脚本:
#!/usr/bin/env bash
dnu build src/LibFoo/project.json
dnu build test/LibFoo.Tests/project.json然后,我在src/目录下又添加了10个项目,那么在构建脚本中不添加10行的方法是什么呢?
任何帮助都将不胜感激,谢谢!
发布于 2016-03-20 17:32:49
就像@aguafrommars说的,你可以使用KoreBuild,但我们不会为此提供任何支持,也不会保证我们不会做出重大改变。这只是一个碰巧是公开的基础设施项目。
但是,KoreBuild所做的是查找指定文件夹下包含project.json并在其上调用dnu (或dotnet) build的文件夹。没什么稀奇的,只是个循环。它可以很容易地复制在批处理,PowerShell或Bash。k-standard-goals.shade#L144-L145
https://stackoverflow.com/questions/36115760
复制相似问题