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

本文关键字:情况下 编译 项目 MSBuild 是否 | 更新日期: 2023-09-27 18:21:07

我正在开发一个部署程序应用程序,该应用程序发布(构建和创建输出)C#项目并执行其他工作。

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

我知道可以使用C#编译器将一个简单的sample.cs文件编译成dll文件。但是,我可以在没有MSBuild的情况下编译一个项目吗?

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

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

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

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

正如这个答案中提到的,您可以使用其他构建引擎来查看它们是否符合您的需求。其中两个是Microsoft.Build和Make for Windows

相关文章: