63

我对 C# 很陌生。我刚刚使用 Visual Studio 运行了 C# 'Hello World' 程序。

我可以在不使用 Visual Studio 的情况下运行或编译 C# 程序吗?

如果可能,那么我应该使用哪个编译器?

谢谢

4

5 回答 5

89

如果您安装了 .NET v4(如果您有较新的 Windows 或应用 Windows 更新)

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe somefile.cs

或者

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe nomefile.sln

或者

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe nomefile.csproj

如果您安装了 .NET,很可能会%FrameworkDir%设置变量,因此:

%FrameworkDir%\v4.0.30319\csc.exe ...

%FrameworkDir%\v4.0.30319\msbuild.exe ...
于 2013-08-17T08:50:40.460 回答
38

我使用批处理脚本来编译和运行 C#:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc /out:%1 %2

@echo off

if errorlevel 1 (
    pause
    exit
)

start %1 %1

我这样称呼它:

C:\bin\csc.bat "C:\code\MyProgram.exe" "C:\code\MyProgram.cs"

我在 Notepad++ 中也有一个快捷方式,您可以通过运行 > 运行...来定义它:

C:\bin\csc.bat "$(CURRENT_DIRECTORY)\$(NAME_PART).exe" "$(FULL_CURRENT_PATH)"

我将此快捷方式分配给我的 F5 键以获得最大的懒惰。

于 2014-02-27T19:31:08.853 回答
13

有不同的方法:

1.使用 csc.exe 构建 C# 应用程序

虽然您可能永远不会决定只使用 C# 命令行编译器来构建大型应用程序,但了解如何手动编译代码文件的基础知识非常重要。

2.使用 Notepad++ 构建 .NET 应用程序

我想快速指出的另一个简单的文本编辑器是可免费下载的 Notepad++ 应用程序。这个工具可以从http://notepad-plus.sourceforge.net获得。与原始的 Windows 记事本应用程序不同,Notepad++ 允许您以多种语言编写代码并支持

3.使用 SharpDevelop 构建 .NET 应用程序

您可能同意,与 Notepad 相比,使用 Notepad++ 编写 C# 代码是朝着正确方向迈出的一步。但是,这些工具没有为 C# 代码、用于构建图形用户界面的设计器、项目模板或数据库操作实用程序提供丰富的 IntelliSense 功能。为了满足这些需求,请允许我介绍下一个 .NET 开发选项:SharpDevelop(也称为“#Develop”)。您可以从 http://www.sharpdevelop.com下载它。

于 2013-08-17T08:53:07.007 回答
6

另一种选择是一个有趣的开源项目,称为 ScriptCS。它使用一些巧妙的技术让您在 Visual Studio 之外获得开发体验,同时仍然能够利用 NuGet 来管理您的依赖项。它是免费的,使用Chocolatey非常容易安装。您可以在这里查看http://scriptcs.net

它的另一个很酷的功能是命令行中的 REPL。它允许你做这样的事情:

C:\> scriptcs
scriptcs (ctrl-c or blank to exit)

> var message = "Hello, world!";
> Console.WriteLine(message);
Hello, world!
> 

C:\>

您可以创建 C# 实用程序“脚本”,它可以是任何东西,从小型系统任务到单元测试,再到完整的 Web API。在最新版本中,我相信他们还允许在您自己的应用程序中托管运行时。

也可以在 GitHub 页面上查看它的开发情况https://github.com/scriptcs/scriptcs

于 2013-08-17T09:06:41.287 回答
1

如果您已经准备好一个项目并且只想更改一些代码然后构建。查看位于 Windows 目录下的 Microsoft.Net 中的 MSBuild。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild "C:\Projects\MyProject.csproj" /p:Configuration=Debug;DeployOnBuild=True;PackageAsSingleFile=False;outdir=C:\Projects\MyProjects\Publish\

(请不要编辑,保留为单行)

...为了便于阅读,上面的行被分解了

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild "C:\Projects\MyProject.csproj"
/p:Configuration=Debug;DeployOnBuild=True;PackageAsSingleFile=False;
outdir=C:\Projects\MyProjects\Publish\
于 2014-02-06T14:37:30.453 回答