C# 我应该使用哪个版本的csc.exe?

C# 我应该使用哪个版本的csc.exe?,c#,windows-8,csc,C#,Windows 8,Csc,我遵循一个教程在C#应用程序中使用WSDL: http://my.execpc.com/~gopalan/dotnet/webservices/webservice_csharp_client.html 在第2步,它说要执行以下操作: C:\MyProjects\Cornucopia\WebService\Client>csc /t:library /r:System.Web.Services.dll /r:System.Xml.dll OIDServer.cs 但是csc.exe不在

我遵循一个教程在C#应用程序中使用WSDL:

http://my.execpc.com/~gopalan/dotnet/webservices/webservice_csharp_client.html
在第2步,它说要执行以下操作:

C:\MyProjects\Cornucopia\WebService\Client>csc /t:library /r:System.Web.Services.dll /r:System.Xml.dll OIDServer.cs
但是csc.exe不在我的路径中,所以我搜索了它,结果是:

我的计算机中有20个不同的csc.exe。我应该用哪一个?
我正在运行Windows 8 x64 EE。

只需按开始,然后开始键入“Developer”,然后选择VS2012的开发者命令提示符

只需按开始,然后开始键入“Developer”然后选择VS2012的开发者命令提示符

通常您要使用
C:\WINDOWS\Microsoft.NET\Framework\vx.x.xxxxx\
中的命令提示符


其中x.x.xxxxx是您的目标框架版本。因此,如果我试图使用C#4.0编译器,我会使用“C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe”

通常您希望使用
C:\Windows\Microsoft.NET\Framework\vx.xxxxx\
中的编译器


其中x.x.xxxxx是您的目标框架版本。所以,如果我试图使用C#4.0编译器,我会使用“C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe”

,正如vcjones所说,使用.NET Framework目录中的编译器,使用您想要支持的最低.NET Framework版本

另一个csc.exe只是存储在WinSxs文件夹中的.NET Framework的备份,由MSI安装程序安装。由于.NET Framework是操作系统的一部分,因此WinSXS文件夹中始终存在一个备份,以便在发生错误时进行恢复。但是由于.NET框架已经使用了不同的位置

%Windir%\Microsoft.NET


现在我们有两个.NET Framework文件所在的位置。您确实看到的其他版本是.NET Framework的不同修补程序级别,由于“向后”兼容的原因,它们保留在WinSxs中,这对于.NET Framework部件没有意义,但是对于非托管DLL没有意义

正如vcjones所说,使用.NET Framework目录中的一个目录,该目录具有您想要支持的最低.NET Framework版本

另一个csc.exe只是存储在WinSxs文件夹中的.NET Framework的备份,由MSI安装程序安装。由于.NET Framework是操作系统的一部分,因此WinSXS文件夹中始终存在一个备份,以便在发生错误时进行恢复。但是由于.NET框架已经使用了不同的位置

%Windir%\Microsoft.NET


现在我们有两个.NET Framework文件所在的位置。您确实看到的其他版本是.NET Framework的不同修补程序级别,由于“向后”兼容的原因,它们保留在WinSxs中,这对于.NET Framework部件没有意义,但是对于非托管DLL没有意义

出于好奇,
csc.exe
做什么?@psycketom它是.NET C#编译器。出于好奇,
csc.exe
做什么?@psycketom它是.NET C#编译器。