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

时间:2012-12-30 22:54:21

标签: c# windows-8 csc

我正在学习在C#aplication中使用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不在我的路径中所以我搜索了它并且结果:

enter image description here

我的电脑中有20种不同的csc.exe。我应该使用哪一个? 我正在运行Windows 8 x64 EE。

3 个答案:

答案 0 :(得分:2)

通常你想使用C:\WINDOWS\Microsoft.NET\Framework\vx.x.xxxxx\中的那个。

x.x.xxxxx是您要定位的Framework版本。因此,如果我尝试使用C#4.0编译器,我会使用" C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ csc.exe"

答案 1 :(得分:1)

只需按开始,然后输入“Developer”并选择 VS2012的开发人员命令提示

答案 2 :(得分:1)

正如vcjones所说,使用.NET Framework目录中的那个,并且要支持最低的.NET Framework版本。

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

%Windir%\ Microsoft.NET ...

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