是否可以在没有MSBuild的情况下编译C#项目?

Arm*_*vli 10 c# msbuild

我正在开发一个deployer应用程序,它发布(构建和创建输出)C#项目并完成其他工作.

MSBuild不方便.所以,我考虑过创建自己的构建引擎.

我知道可以使用C#编译器将一个简单的sample.cs文件编译成一个dll文件.但我可以完全没有MSBuild编译项目吗?

Pat*_*man 4

是的,您可以csc一直使用(C# 编译器)来编译源代码。问题是你必须自己做一切

由于 MSBuild 可以解释slncsproj归档,并了解要采取的各种操作、要使用的参考以及在哪里可以找到它们,因此它比csc. 例如:有一些特定于 Office 加载项的任务。MSBuild 知道如何从远程目标文件执行它们。你没有,所以如果你想使用它们,你需要自己完成所有操作。如果您想编译非常复杂的项目,这是可能的,只是有点困难。

使用 Roslyn 设置编译语句并实际编译代码可能会有所帮助。您仍然需要一种方法来指定所有参数。