我正在开发一个deployer应用程序,它发布(构建和创建输出)C#项目并完成其他工作.
MSBuild不方便.所以,我考虑过创建自己的构建引擎.
我知道可以使用C#编译器将一个简单的sample.cs文件编译成一个dll文件.但我可以完全没有MSBuild编译项目吗?
是的,您可以csc
一直使用(C# 编译器)来编译源代码。问题是你必须自己做一切。
由于 MSBuild 可以解释sln
和csproj
归档,并了解要采取的各种操作、要使用的参考以及在哪里可以找到它们,因此它比csc
. 例如:有一些特定于 Office 加载项的任务。MSBuild 知道如何从远程目标文件执行它们。你没有,所以如果你想使用它们,你需要自己完成所有操作。如果您想编译非常复杂的项目,这是可能的,只是有点困难。
使用 Roslyn 设置编译语句并实际编译代码可能会有所帮助。您仍然需要一种方法来指定所有参数。