我需要创建一个脚本,从C#控制台项目生成可执行文件。
客户端系统没有安装Visual Studio,但已经安装了.NET框架。如何在客户端使用最少或者没有软件安装的情况下完成此操作?
C#编译器(csc.exe)是否随.NET框架一起提供?如果是,有没有环境变量来指定其位置?
我需要创建一个脚本,从C#控制台项目生成可执行文件。
客户端系统没有安装Visual Studio,但已经安装了.NET框架。如何在客户端使用最少或者没有软件安装的情况下完成此操作?
C#编译器(csc.exe)是否随.NET框架一起提供?如果是,有没有环境变量来指定其位置?
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\
如果您是一位祖母,这将变得非常容易:
-- 创建一个包含以下内容的.bat
文件:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\csc.exe csharp.cs
csharp.exe
-- 使用以下内容创建一个.cs
文件:
class Program
{
public static void Main()
{
System.Console.Clear();
//code...
System.Console.WriteLine("Congratulation! =D");
//...code
System.Console.ReadKey();
}
}
编写一个C#控制台应用程序,它接受两个命令行参数:C#源文件名和输出.exe文件名。在此程序中,打开C#源文件,将其读取为字符串,并按照文章中描述的方式进行编译。
这个控制台程序可以在需要的脚本中使用。不需要独立的C#编译器,只需要.NET Framework。
另一种方法是安装 MonoDevelop 或 SharpDevelop。你可以在一个免费的集成开发环境中使用 .NET 编译器。
除了上述之外,只需安装编译器并使用记事本即可。
我想你可以直接安装.NET Framework (CLR)。
引用自this post:
请参考此指南,了解如何使用csc进行工作:csc.exe命令行构建。C#编译器(csc.exe)不是Visual Studio的一部分,而是随Microsoft.NET框架提供的(在我的系统上,它位于%systemroot%\Microsoft.NET\Framework\v2.0.50727)。一旦我发现了编译器的位置,编译代码就变得简单明了。
>C:\Windows\Microsoft.NET\Framework\v4.0.30319\ msbuild MyProj.csproj /p:outdir=C:\Publish2\
,需要将输出放置在与 .csproj 文件相同的位置。 - softwarematter