昨天读《C#高级编程第六版》的时侯 讲到 使用csc.exe 编译器的时候 需要设置一下环境变量
如果没有设置环境变量有两种解决办法
第一种方法:在命令行上运行批处理文件%Microsoft Visual Studio 2008%\Common7\Tools\vcvars32.bat
其中%Microsoft Visual Studio 2008% 是安装Visual Studio 2008 的文件夹
第二种方法:直接使用Visual Studio 2008 命令行代替通常的命令提示窗口(这个是最常用的 应该都知道 )
通常情况下直接在命令行上直接运行csc 时 会提示如下
再使用第一种方法结果如下
看他这条命令的意思是 要运行那个vcvars32.bat 这个批处理文件 看了一下前面的那个变量
没有值 算了我自己去找找那个vcvars32.bat文件看看他要执行什么
怎么搜到了两个??看了一下原来第一个是c++(机子上安装了visual c++ 6.0的原因)的
直接看第二个里面是这条语句
"%VS90COMNTOOLS%vsvars32.bat" 直接执行
怎么还是不行 再看一下那个变量的值
恩 找到那个批处理文件了 打开如下
@SET VSINSTALLDIR=D:\Program Files\Microsoft Visual Studio 9.0 @SET VCINSTALLDIR=D:\Program Files\Microsoft Visual Studio 9.0\VC @SET FrameworkDir=C:\WINDOWS\Microsoft.NET\Framework @SET FrameworkVersion=v2.0.50727 @SET Framework35Version=v3.5 @if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR @if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR @echo Setting environment for using Microsoft Visual Studio 2008 x86 tools. @call :GetWindowsSdkDir @if not "%WindowsSdkDir%" == "" ( set "PATH=%WindowsSdkDir%bin;%PATH%" set "INCLUDE=%WindowsSdkDir%include;%INCLUDE%" set "LIB=%WindowsSdkDir%lib;%LIB%" ) @rem @rem Root of Visual Studio IDE installed files. @rem @set DevEnvDir=D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE @set PATH=D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;D:\Program Files\Microsoft Visual Studio 9.0\VC\BIN;D:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;D:\Program Files\Microsoft Visual Studio 9.0\VC\VCPackages;%PATH% @set INCLUDE=D:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE;%INCLUDE% @set LIB=D:\Program Files\Microsoft Visual Studio 9.0\VC\LIB;%LIB% @set LIBPATH=C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;D:\Program Files\Microsoft Visual Studio 9.0\VC\LIB;%LIBPATH% @goto end :GetWindowsSdkDir @call :GetWindowsSdkDirHelper HKLM > nul 2>&1 @if errorlevel 1 call :GetWindowsSdkDirHelper HKCU > nul 2>&1 @if errorlevel 1 set WindowsSdkDir=%VCINSTALLDIR%\PlatformSDK\ @exit /B 0 :GetWindowsSdkDirHelper @for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows" /v "CurrentInstallFolder"') DO ( if "%%i"=="CurrentInstallFolder" ( SET "WindowsSdkDir=%%k" ) ) @if "%WindowsSdkDir%"=="" exit /B 1 @exit /B 0 :error_no_VSINSTALLDIR @echo ERROR: VSINSTALLDIR variable is not set. @goto end :error_no_VCINSTALLDIR @echo ERROR: VCINSTALLDIR variable is not set. @goto end :end
这个批处理 主要就是在运行CMD的时候先为我们设置一下环境变量(临时的)
好了不让他没回都设置了直接把环境变量给他设置上别的不管了直接先把PATH设置上我的电脑右键属性-->高级环境变量-->系统环境变量选择PATH 编辑
直接把上面的这个path值D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;D:\Program Files\Microsoft Visual Studio 9.0\VC\BIN;D:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;D:\Program Files\Microsoft Visual Studio 9.0\VC\VCPackages
给添加到后面 注意添加的时候先加一个";"分号分隔符OK重新启动一下CMD 看下效果
弄完以后想了想才明白 他其实就是把那个csc.exe的路径添加到了Path 下面 当我们在cmd下运行csc 命令的时候他就会查询Path下的所有目录 找有没有文件名为csc 这样一个可执行文件 其实简单点儿我们可以直接找到csc.exe这个编译程序把他得路径添加啊path里就可以了 又看了一下那个"visual studio 2008命令提示" 其实也是一个道理去执行一个批处理文件 设置临时的环境变量
将csc.exe的路径设置到path里
作者:QA龙
出处:http://www.cnblogs.com/liubaolongcool/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。