Unable to compile .cs file from regular command prompt, only Developer Command Prompt?
我有一个使用Visual Studio开发的非常简单的控制台应用程序。有了它,我把一个简单的C程序放在一起,使用"developer command prompt for vs2015"导航到我的目录并运行"cs c program.cs"来编译"program.exe"文件。从那里我可以输入"program**",并传递一个文件名,如"program file.asm"。
一切正常。但是,我想从普通命令提示符运行这个命令。当我在developer命令提示符中编译vs2015时,将输出以下两行:
1 2 | Microsoft (R) Visual C# Compiler version 1.3.1.60616 Copyright (C) Microsoft Corporation. All rights reserved. |
当我导航时,我可以看到在c:windowsmicrosoft.netframework下,我有以下文件夹选项:
- V1.0.3705
- V1.1.4322
- V2.0.50727
- V3.0
- V3.5
- V4.0.30319
当我这样做的时候:
C:windowsmicrosoft.netframeworkv3.5cs c.exe C:directory…program.cs
输出为:
Microsoft(R)Visual C 2008编译器3.5.30729.5420(R).NET Framework 3.5版)版权所有(c)Microsoft Corporation。版权所有。
C:usersdirectory…program.cs(5,24):错误CS0234:命名空间"system.threading"中不存在类型或命名空间名称"tasks"(是否缺少程序集引用?)
然后我尝试使用v4.0.30319:
C:windowsmicrosoft.netframeworkv4.0.30319cs c.exe C:directory…program.cs
输出:
用于C 5的Microsoft(R)Visual C编译器4.6.1055.0版版权所有(c)Microsoft Corporation。版权所有。此编译器作为Microsoft(R).NET Framework的一部分提供,但只支持C_5之前的语言版本,而C_5之前的语言版本不再是最新版本。有关支持较新版本C编程语言的编译器,请参阅http://go.microsoft.com/fwlink/?林奇=533240cscd777ae6152014d6aaec769e73b879b29.tmp:错误cs1567:生成win32资源时出错:访问被拒绝。警告cs1610:无法删除用于默认win32资源的临时文件"c:windowsmicrosoft.netframeworkv4.0.30319cscd777ae6152014d6aaec769e73b879b29.tmp"--系统找不到指定的文件。
有人能帮助我理解为什么这一切对于开发者命令提示很好,但是即使在完全量化"csc.exe"的路径时,常规命令提示也失败了?
我认为你在尝试很多事情,却不了解正在发生的事情。
0当您从这个特定的命令提示符运行C编译器时,
c:\Users\directory...\Program.cs(5,24): error CS0234: The type or namespace name 'Tasks' does not exist in the namespace 'System.Threading' (are you missing an assembly reference?)
在同一提示下运行
When I do:
C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe C:\directory...\Program.cs
CSCD777AE6152014D6AAEC769E73B879B29.TMP: error CS1567: Error generating Win32 resource: Access is denied. wrning CS1610: Unable to delete temporary file 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\CSCD777AE6152014D6AAEC769E73B879B29.TMP' used for default Win32 resource -- The system cannot find the file specified.
您可能希望位于文件
Can anyone help me understand why this is all working fine for Developer Command Prompt but failing for regular command prompt even when fully quantifying the path for"csc.exe"?
最可能的原因是路径环境变量不同。Visual Studio命令提示,在启动命令提示后设置一组环境变量。您可以通过在两个终端上运行
正如@keithnocholas在评论中提到的,您可以简单地调用