【问题标题】:Is it possible to install a C# compiler without Visual Studio?是否可以在没有 Visual Studio 的情况下安装 C# 编译器?
【发布时间】:2010-10-26 01:44:26
【问题描述】:

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

【问题讨论】:

  • 呵呵,我觉得人们将 IDE 与实际开发平台和/或语言联系起来很有趣。
  • 这就是我喜欢保留我的构建机器的方式。只是编译器。当然,有些工具需要 Visual Studio,我发现在构建机器的环境中这真的很烦人。您不必为了构建任何东西而安装 Visual Studio。一些 3rd 方工具的供应商需要安装 Visual Studio 才能获得组件许可,还有另一个我们必须这样做的原因,但不记得是什么了。
  • 确实,.NET 的某些部分的框架需要它。如果您在生产机器上观察进程并使用一些需要生成运行时代码的功能,例如 XML 序列化,您会注意到 csc.exe 不时由您的应用程序启动。即使没有安装VS。

标签: c# compiler-construction msbuild csc


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    当然,该框架包括一个编译器 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\Framework\

    另请查看this MSDN article 以获得完整的指南和解释。

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

    【讨论】:

    • 是否可以编译解决方案而不仅仅是 .cs 文件?
    • 是的,这就是 msbuild.exe 的用途。 (它绝对可以处理.csproj,我想也许也可以处理.sln。)
    • MSBuild 对 .sln 文件没有问题
    • @200_success 谢谢。我已更改链接以点击 Wayback Machine 并包含一些原始文本。
    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

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

      “Visual Studio Build Tools 2017”在线安装程序运行后,切换到“Individual components”选项卡并选中“C# and Visual Basic Roslyn compilers”。 这还将检查 MSBuild 依赖项。总共不到一百兆字节。

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

      【讨论】:

      • 这是 2020 年的正确解决方案。我会注意到 msbuild.exe 不在同一个文件夹中,而是在 Bin 中的一个
      • 那是最新版本吗?它说版本 3.9.0-6.21160.10 非常旧。 C:\windows\Microsoft.NET\Framework 中的那个说版本 4.8.4084.0 但它也很旧并且说有一个更新的版本。 .NET 5.0 发布了,那个 csc.exe 在哪里???
      • 好的,3.9 是基于 Roslyn 的,而 4.8 是旧的 C++ 版本。这个网站解释它blog.lextudio.com/…
      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

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

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

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

            【讨论】:

            • csc.exe 包含在 .NET Framework 中,大多数人认为它是运行时。您不需要 SDK 来获取编译器。让我再说一遍:你不需要 SDK 来获得 C# 编译器。 VBC 和 CSC 编译器随 .NET Framework 一起提供。
            • 你,先生。你搞定了。 +1 让我浏览我的电脑以找到我需要的东西。
            【解决方案9】:

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

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

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

            它会生成你可以使用的 .exe 文件:)

            【讨论】:

            • 每次要重新编译时都输入完整路径不是很方便。您可以将此路径添加到 PATH 环境变量并输入 csc.exe myfile.cs
            • 我同意@PavelBastov 我只是想为可能想要创建环境变量的其他用户显示实际路径。
            【解决方案10】:

            当然。做:

            sudo apt-get install mono-gmcs
            

            其他人都认为是 Windows 和 MS .NET,但是...

            【讨论】:

              【解决方案11】:

              可以,但需要下载并安装.NET Framework SDK。

              这里有一个link 可以帮助你。

              【讨论】:

              • 你不需要 sdk,但它确实为你提供了命令行环境,使构建更容易
              猜你喜欢
              • 1970-01-01
              • 2018-08-11
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-07-06
              • 1970-01-01
              • 2020-04-24
              • 1970-01-01
              相关资源
              最近更新 更多