是否可以在没有Visual Studio的情况下安装C#编译器?

时间:2009-05-14 03:14:04

标签: c# compiler-construction msbuild csc

我想从命令行构建项目。是否可以在不安装Visual Studio的情况下部署C#编译器?

11 个答案:

答案 0 :(得分:44)

当然,该框架包含一个编译器csc.exe。请查看this article以获取快速操作方法。重要的部分:

  

您可以从Microsoft站点获取命令行编译器(csc.exe)   http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx

     

下载.NET Framework的可再发行软件包,其中包括编译器和带有C#2005语法支持的.NET Framework。

     

编译器位于以下位置   目录:   %WINDIR%\ Microsoft.NET \框架\

另请参阅this MSDN article以获取完整的指南和解释。

请注意,对于更新版本,您将寻找MSBuild独立包而不是框架 - 请参阅@Vadzim's answer

答案 1 :(得分:42)

当然。做:

sudo apt-get install mono-gmcs

其他人都假设Windows和MS .NET,但是......

答案 2 :(得分:32)

是的,如果您有.NET SDK,那就在那里。例如,

C:\WINDOWS\Microsoft.NET\Framework\v[your version number]\csc.exe

msbuild.exe也应该存在,您可以使用它来构建项目(.csproj)文件。

答案 3 :(得分:17)

与其他一些回答者说的相反,你不需要SDK,只需要.NET Framework来获得C#编译器,csc.exe

另外,请考虑其他(免费)IDE,例如MonoDevelop#developVisual C# Express。 (你说你不想要Visual Studio,而不是你根本不需要IDE;)

答案 4 :(得分:7)

最新Microsoft .NET Framework 4.7不再包含C#编译器。

但它可以作为独立MSBuild工具的一部分安装。

转到https://www.visualstudio.com/downloads/,向下滚动到"其他工具和框架"并选择"为Visual Studio 2017构建工具"。

" Visual Studio Build Tools 2017"在线安装程序运行,切换到"各个组件"选项卡和检查" C#和Visual Basic Roslyn编译器"。 这也将检查MSBuild依赖性。总共不到一百兆字节。

编译器安装在C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Roslyn\csc.exe

答案 5 :(得分:2)

是的,甚至还有一个开源的IDE SharpDevelop。您可以将编译器设置为UltraEdit(或其他一些首选编辑器)等命令。

答案 6 :(得分:1)

是的,但您需要下载并安装.NET Framework SDK

这是一个可以帮助你的link

答案 7 :(得分:1)

您只需要.NET框架。您可以使用Notepad进行编辑,使用CSC.exe进行编译。

答案 8 :(得分:1)

我只是在寻找这样的解决方案,以便我可以使用C#制作小型控制台应用程序。

布莱恩提到了对我有用的方法,我所做的只是在创建我的文件之后:

C:\WINDOWS\Microsoft.NET\Framework\v[your version number]\csc.exe myfile.cs

它将生成您可以使用的.exe文件:)

答案 9 :(得分:0)

正如其他一些人所提到的那样MSBuild与.NET Framework一起部署(版本2.0和3.5),因此,如果您安装了其中任何一个,则无需在计算机上安装Visual Studio即可构建应用程序。

Sayed Ibrahim Hashimi

我的书:Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build

答案 10 :(得分:0)

假定您已安装包含C#的Visual Studio。另外,假设您想要最新版本。

  1. 找到VS安装的路径。称之为VSPath。
  2. CSC编译器将位于VSPath \ MSBuild(MSBuild-Version)\ Bin \ Roslyn