Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何从源代码编译C#项目_Visual Studio_Compiler Construction - Fatal编程技术网

Visual studio 如何从源代码编译C#项目

Visual studio 如何从源代码编译C#项目,visual-studio,compiler-construction,Visual Studio,Compiler Construction,因此,我的意思是在不使用visual studio的情况下编译转到项目目录(我假设.NET framework位于您的路径中): msbuild 如果你想编译一堆C源文件(不是在项目中),你可以使用csc命令vbc是VB.NET编译器jsc是JScript.NET编译器cl是C++/CLI(&plain C++)编译器。来自: 编译File.cs生成File.exe: csc File.cs 编译File.cs生成File.dll: csc /target:library File.cs

因此,我的意思是在不使用visual studio的情况下编译

转到项目目录(我假设.NET framework位于您的
路径中)

msbuild
如果你想编译一堆C源文件(不是在项目中),你可以使用
csc
命令
vbc
是VB.NET编译器
jsc
是JScript.NET编译器
cl
是C++/CLI(&plain C++)编译器。

来自:

编译File.cs生成File.exe:

csc File.cs
编译File.cs生成File.dll:

csc /target:library File.cs
编译File.cs并创建My.exe:

csc /out:My.exe File.cs
编译当前目录中的所有C#文件,启用优化并定义调试符号。输出为File2.exe:

csc /define:DEBUG /optimize /out:File2.exe *.cs

我创建了一个用于此的批处理文件,因此我可以在一行中编译多个项目。这将帮助您朝着正确的方向前进:

cls
echo off
c:


cd windows
cd microsoft.net
cd framework
cd v3.5

msbuild c:\Project\Project.sln /t:rebuild /p:Configuration=Debug /p:Platform="any cpu" /clp:Nosummary 

将命令行与或

一起使用,将路径或更改目录设置为C:\Windows\Microsoft.NET\Framework\v2.0.50727(注意,如果使用不同的框架版本,则为目录)

类型:

MSBuild/path/to/your/project/projectname.solution/rebuild

或者,从命令行使用csc。再次切换到上面提到的目录,这次命令是

csc/out:filename.exe/path/to/your/project/*.cs


注意,CSC.exe有几百个操作。键入csc-help以获取更多详细信息。

目前有三种编译C#项目的方法。第一个是VisualStudio,但是您已经声明VS not installed是一个约束。第二种是使用原始的.NETSDK工具。第三种方法是使用

使用msbuild需要安装Visual Studio。 但是,使用csc并不需要安装.NET SDK

使用.NET:

  • 编译File.cs生成File.exe:

    csc File.cs

  • 编译File.cs生成File.dll:

    csc/target:library File.cs

  • 编译File.cs并创建My.exe:

    csc/out:My.exe File.cs

  • 编译当前目录中的所有C#文件,启用优化并定义调试符号。输出为File2.exe:

    csc/define:DEBUG/optimize/out:File2.exe*.cs

使用Mono:

  • 编译File.cs生成与.NET 1.1兼容的File.exe:

    mcs文件.cs

或与.NET 2.0兼容

gmcs File.cs
  • 编译File.cs生成File.dll:

    msc/target:library File.cs

  • 编译File.cs并创建My.exe:

    msc/out:My.exe File.cs

  • 编译当前目录中的所有C#文件,启用优化并定义调试符号。输出为File2.exe:

    msc/define:DEBUG/optimize/out:File2.exe*.cs


如果您已经有了解决方案或项目文件,请使用msbuild工具。 您可以在文件夹“%windir%\Microsoft.NET\”中找到它。 例如,在我的机器上,我运行以下程序来编译我的项目:

C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe MassiveMultithreading.sln

你的意思是不打开IDE还是不安装Visual Studio?重要的是,不使用MSV,唯一的其他方法是在Linux下使用Mono。@Mike:不一定正确。如果您下载.NETSDK,您将拥有命令行编译器和其他工具,可以使用下面的答案。否则,像SharpDevelop这样的开源IDE将要求您安装MSV才能正常工作。@迈克,这不完全正确。@Tom:如果其中一个答案有帮助,请接受。从技术上讲,这需要Visual Studio。@Mike。不。项目是一个普通的XML文件(语法有完整的文档:),可以手动编写。此外,OP提到“如何编译C#项目”Mehrdad完全正确:“由于MSBuild是.NET的一部分,因此可以在不安装Visual Studio IDE的情况下构建Visual Studio项目和解决方案。MSBuild免费提供。”()是-MSBuild是.NET Framework SDK的一部分。你根本不需要VS。事实上,您可以使用文本编辑器创建自己的.sln文件,并以这种方式使用MSBuild。我经常这样做。如果我只想在Debug或Release?中编译解决方案,可以通过单击MS Visual Studio“开始”菜单组的“工具”菜单中的“Visual Studio 2003/2005/2008命令提示符”图标来使用生成环境。@Mike Curry:“生成环境”?您是指设置了环境变量的命令行?如果我只想在调试或发行版中编译解决方案,要在发行版或发行版中编译,请参阅
C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe MassiveMultithreading.sln