我想知道:Roslyn和MsBuild的关系是怎样的?
我的理解是:
1. Roslyn是一个编译引擎 2. MsBuild主要是一组规范,用于定义.csproj,.sln文件等项目的设置。
然而,MsBuild也附带了msbuild.exe - 如果我没记错的话,它可以实际编译项目。但是,如果msbuild.exe能够编译项目,那么这会如何与Roslyn相关联呢?
在MSBuild 15的情况下,msbuild.exe是否使用Roslyn来编译?它们是完全独立的吗?我有什么误解吗?
此外,更具体地说:假设我想以编程方式创建简单的.csproj文件,并使用Roslyn的MSBuildWorkspace来处理/填充并最终编译这些文件。那么,我的应用程序的最终用户是否需要在其计算机上安装Microsoft的构建工具?或者说这不是必要的,因为Roslyn能够独立读取和编译这些文件,而不需要任何本地MSBuild安装?
我的理解是:
1. Roslyn是一个编译引擎 2. MsBuild主要是一组规范,用于定义.csproj,.sln文件等项目的设置。
然而,MsBuild也附带了msbuild.exe - 如果我没记错的话,它可以实际编译项目。但是,如果msbuild.exe能够编译项目,那么这会如何与Roslyn相关联呢?
在MSBuild 15的情况下,msbuild.exe是否使用Roslyn来编译?它们是完全独立的吗?我有什么误解吗?
此外,更具体地说:假设我想以编程方式创建简单的.csproj文件,并使用Roslyn的MSBuildWorkspace来处理/填充并最终编译这些文件。那么,我的应用程序的最终用户是否需要在其计算机上安装Microsoft的构建工具?或者说这不是必要的,因为Roslyn能够独立读取和编译这些文件,而不需要任何本地MSBuild安装?
msbuild.exe
, "Roslyn" =>csc.exe
. - Christian.K