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


72

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


4
呵呵,我发现人们如何将IDE与实际的开发平台和/或语言相关联很有趣。
苏联

这就是我喜欢保留构建机器的方式。只是编译器。当然,有些工具需要Visual Studio,我发现在构建机器的上下文中确实很烦人。您不必安装Visual Studio即可构建任何东西。一些第三方工具的提供者需要安装Visual Studio才能获得组件许可,这是我们不得不这样做的另一个原因,尽管记不得了。
亚兰·穆赫兰

确实,.NET某些部分的框架需要它。如果您在生产机器上观察流程,并且正在使用某些需要运行时代码生成的功能,例如XML序列化,您会注意到csc.exe应用程序会不时地启动它们。即使未安装VS。
洛朗LA RIZZA,2016年

Answers:


46

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

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

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

编译器位于以下目录中:%windir%\ Microsoft.NET \ Framework \

另请参阅此MSDN文章以获取完整的指南和说明。

请注意,对于最新版本,您将寻找MSBuild独立软件包而不是框架-请参阅@Vadzim的答案


是否可以编译一个解决方案,而不仅仅是.cs文件?
帕维尔·巴斯托夫

3
是的,这就是msbuild.exe的用途。(它绝对可以处理.csproj,而且我认为也可以处理.sln。)
Brian

1
的MSBuild具有的.sln文件没有问题
Davee的

@ 200_success谢谢。我已经更改了链接,以点击Wayback Machine,并包含了一些原始文本。
lc。


34

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

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

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


16
csc.exe包含在.NET Framework中,大多数人都将其视为运行时。您不需要SDK即可获取编译器。让我再说一遍:您不需要SDK即可获得C#编译器。VBC和CSC编译器随.NET Framework一起提供。
09年

2
你,先生 你钉了 +1,使我可以浏览计算机以查找所需内容。
新浪

20

与其他答复者所说的相反,您不需要SDK,只需.NET Framework即可获得C#编译器csc.exe

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


10

最新的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


1
这是2020年的正确解决方案。我只注意到它msbuild.exe不在同一个文件夹中,而是放在一个文件夹中Bin
Jay



1

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

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

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

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


1
每次要重新编译时都输入完整路径不是很方便。您可以将此路径添加到PATH env变量中并输入csc.exe myfile.cs
Pavel Bastov

我同意@PavelBastov,我只是想向其他想要创建环境变量的用户显示实际路径。
卡洛斯F



0

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

  1. 找到VS安装的路径。称之为VSPath。
  2. CSC编译器将位于VSPath \ MSBuild(MSBuild-Version)\ Bin \ Roslyn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.