我需要创建一个从C#控制台项目生成可执行文件的脚本。
运行脚本的客户端系统没有Visual Studio,但安装了.NET框架。如何在客户端使用最少的软件安装或不安装软件?
C#编译器(csc.exe)是否附带.NET框架?如果是,那么该位置是否有环境变量?
答案 0 :(得分:12)
如果您已准备好项目并且只想更改某些代码然后构建,请查看位于Microsoft.Net
目录下的Windows
文件夹中的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\
答案 1 :(得分:5)
如果你是奶奶,这很容易:
- 使用以下内容创建.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();
}
}
答案 2 :(得分:2)
我强烈推荐CS-Script。这是一个简单的安装,允许您像批处理文件(.bat)一样运行CS文件。
此外,它允许您通过简单的单击从上下文菜单将CS编译为EXE文件(控制台或窗口),如果您希望Visual Studio作为编辑器,只需单击一下,它就可以工作。
非常酷,我经常使用它,并且用CS-Scripts替换了所有“复杂”的批处理脚本。
答案 3 :(得分:1)
请参阅 How to programmatically compile code using the C# compiler 。
编写一个C#控制台应用程序,它接受两个命令行参数:C#源文件名和输出.exe文件名。在此程序中,打开C#源文件,将其读取为字符串并按照文章中描述的方式进行编译。
此控制台程序可以在您需要的脚本中使用。不需要独立的C#编译器,只需要.NET Framework。
答案 4 :(得分:1)
另一种方法是安装MonoDevelop或SharpDevelop。您可以在免费的IDE中使用.NET编译器。
除了上述内容之外,只需安装编译器并使用记事本即可。
答案 5 :(得分:0)
我认为你可以安装.NET Framework(CLR)。
取自this post:
C#编译器(csc.exe)不是Visual Studio的一部分,但随Microsoft.NET框架一起提供(在我的系统上,它可以在%systemroot%\ Microsoft.NET \ Framework \ v2.0.50727中找到)。一旦我发现编译器的下落,编译代码就是一个简单的操作。
请参阅本指南,了解如何使用csc:Command-line Building With csc.exe