我正在学习在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不在我的路径中所以我搜索了它并且结果:
我的电脑中有20种不同的csc.exe。我应该使用哪一个? 我正在运行Windows 8 x64 EE。
答案 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则没有意义。