如何在不使用visual studio的情况下编译和运行c#程序?

A.s*_*lar 49 c# compilation visual-studio

我是C#的新手.我刚刚使用Visual Studio运行C#'Hello World'程序.

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

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

谢谢

xan*_*tos 70

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

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe somefile.cs
Run Code Online (Sandbox Code Playgroud)

要么

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe nomefile.sln
Run Code Online (Sandbox Code Playgroud)

要么

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe nomefile.csproj
Run Code Online (Sandbox Code Playgroud)

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

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

%FrameworkDir%\v4.0.30319\msbuild.exe ...
Run Code Online (Sandbox Code Playgroud)


Dav*_*edy 30

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

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

@echo off

if errorlevel 1 (
    pause
    exit
)

start %1 %1
Run Code Online (Sandbox Code Playgroud)

我称之为:

C:\bin\csc.bat "C:\code\MyProgram.exe" "C:\code\MyProgram.cs"
Run Code Online (Sandbox Code Playgroud)

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

C:\bin\csc.bat "$(CURRENT_DIRECTORY)\$(NAME_PART).exe" "$(FULL_CURRENT_PATH)"
Run Code Online (Sandbox Code Playgroud)

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

  • +1"最大懒惰";) (9认同)

Elv*_*dov 10

有不同的方法:

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

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

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

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

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

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

  • 好吧,Notepad++ 是可扩展的,并且**有一个智能感知插件**,因此我们非常接近合适的代码编辑器。[这是这个插件的链接](http://www.csscript.net/npp/)。 (2认同)

Dan*_*dor 8

您可以使用.NET sdk,或者:

链接已移至此处.

在线编译器不提供太多,但可以是简单的家庭作业式任务的学习工具.


cec*_*lip 5

另一种选择是一个名为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:\>
Run Code Online (Sandbox Code Playgroud)

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

在GitHub页面上查看它的开发也是https://github.com/scriptcs/scriptcs