Visual Studio 命令提示 工具原理解析
来源:互联网 发布:java的五大框架 编辑:程序博客网 时间:2024/05/21 06:43
观察“Visual Studio 2005 命令提示”的属性,发现运行“Visual Studio 2005 命令提示”即运行
%comspec% /k ""d:/Microsoft Visual Studio 8/VC/vcvarsall.bat"" x86
其中 comspec即%SystemRoot%/system32/cmd.exe,故以上命令行即“以x86为参数,运行vcvarsall.bat批处理文件”
查看vcvarsall.bat文件的源代码
if "%1" == "" goto x86
if not "%2" == "" goto usage
if /i %1 == x86 goto x86
if /i %1 == amd64 goto amd64
if /i %1 == x64 goto amd64
if /i %1 == ia64 goto ia64
if /i %1 == x86_amd64 goto x86_amd64
if /i %1 == x86_ia64 goto x86_ia64
goto usage
:x86
if not exist "%~dp0binvcvars32.bat" goto missing
call "%~dp0binvcvars32.bat"
goto :eof
:amd64
if not exist "%~dp0binamd64vcvarsamd64.bat" goto missing
call "%~dp0binamd64vcvarsamd64.bat"
goto :eof
:ia64
if not exist "%~dp0binia64vcvarsia64.bat" goto missing
call "%~dp0binia64vcvarsia64.bat"
goto :eof
:x86_amd64
if not exist "%~dp0bin_amd64vcvarsx86_amd64.bat" goto missing
call "%~dp0bin_amd64vcvarsx86_amd64.bat"
goto :eof
:x86_ia64
if not exist "%~dp0bin_ia64vcvarsx86_ia64.bat" goto missing
call "%~dp0bin_ia64vcvarsx86_ia64.bat"
goto :eof
:usage
echo Error in script usage. The correct usage is:
echo %0 [option]
echo where [option] is: x86 ^| ia64 ^| amd64 ^| x86_amd64 ^| x86_ia64
echo:
echo For example:
echo %0 x86_ia64
goto :eof
:missing
echo The specified configuration type is missing. The tools for the
echo configuration might not be installed.
goto :eof
不难发现,实际运行的代码是
:x86
if not exist "%~dp0bin/vcvars32.bat" goto missing
call "%~dp0bin/vcvars32.bat"
goto :eof
即运行当前目录下的bin目录下的vcvars32.bat文件,这个文件的内容非常简单,如下:
"%VS80COMNTOOLS%vsvars32.bat"
其中VS80COMNTOOLS为系统变量,在我的机器上取值d:/Microsoft Visual Studio 8/Common7/Tools/
故找到该目录,并查看其下的vsvars32.bat,代码如下
@SET VCINSTALLDIR=d:Microsoft Visual Studio 8VC
@SET FrameworkDir=C:WINDOWSMicrosoft.NETFramework
@SET FrameworkVersion=v2.0.50727
@SET FrameworkSDKDir=d:Microsoft Visual Studio 8SDKv2.0
@if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR
@if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR
@echo Setting environment for using Microsoft Visual Studio 2005 x86 tools.
@rem
@rem Root of Visual Studio IDE installed files.
@rem
@set DevEnvDir=d:Microsoft Visual Studio 8Common7IDE
@set PATH=d:Microsoft Visual Studio 8Common7IDE;d:Microsoft Visual Studio 8VCBIN;d:Microsoft Visual Studio 8Common7Tools;d:Microsoft Visual Studio 8Common7Toolsin;d:Microsoft Visual Studio 8VCPlatformSDKin;d:Microsoft Visual Studio 8SDKv2.0in;C:WINDOWSMicrosoft.NETFrameworkv2.0.50727;d:Microsoft Visual Studio 8VCVCPackages;%PATH%
@set INCLUDE=d:Microsoft Visual Studio 8VCATLMFCINCLUDE;d:Microsoft Visual Studio 8VCINCLUDE;d:Microsoft Visual Studio 8VCPlatformSDKinclude;d:Microsoft Visual Studio 8SDKv2.0include;%INCLUDE%
@set LIB=d:Microsoft Visual Studio 8VCATLMFCLIB;d:Microsoft Visual Studio 8VCLIB;d:Microsoft Visual Studio 8VCPlatformSDKlib;d:Microsoft Visual Studio 8SDKv2.0lib;%LIB%
@set LIBPATH=C:WINDOWSMicrosoft.NETFrameworkv2.0.50727;d:Microsoft Visual Studio 8VCATLMFCLIB
@goto end
: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
不能发现此文件的作用即为完成与VS2005相关的一些系统变量的设置,如:
VSINSTALLDIR——VS2005的安装路径;
VCINSTALLDIR——VC的安装路径;
FrameworkDir——Framework2.0的安装路径;
等等。
这样,如果我们需要自己写一个批处理文件,完成一些VS2005相关的设置,调用VS2005提供的一些工具(如gacutil,该工具在D:/Microsoft Visual Studio 8/SDK/v2.0/Bin目录下,该目录没有被Path系统变量引用,故该命令无法直接在cmd中运行),就可以在批处理文件的开头先调用vsvars32.bat,然后在调用VS2005的相关工具。代码举例如下:
call "%VS80COMNTOOLS%vsvars32.bat"
gacutil /i YejunWorkshop.IDUControlLibrary.Design.dll
该批处理文件直接运行即可将YejunWorkshop.IDUControlLibrary.Design.dll程序集添加到GAC中。
- Visual Studio 命令提示 工具原理解析
- “Visual Studio 2005 命令提示”工具原理解析
- “Visual Studio 2005 命令提示”工具原理解析
- 怎么用visual studio 2008的命令提示工具来显示啊
- VS工具命令提示(Visual Studio Tools Command Prompt)各版本之间的区别
- Visual Studio命令解析wsdl文件
- 使用"Visual Studio命令提示"查看cad中的重整函数
- Visual Studio工具名称
- Visual Studio工具相关
- Visual Studio “命令”窗口
- Visual Studio初始化命令
- Visual Studio 命令别名
- Visual Studio 2008 每日提示
- visual studio技巧每日提示
- Visual Studio 2008 每日提示
- visual studio 10 工具-> 自定义 -> 在屏幕提示中显示快捷键
- visual studio中提示无法解析的外部符号的解决方案
- Visual Studio 工具 - 拼写检查
- Eclipse ctrl+左键 进入方法 小技巧
- Android.mk的用法和基础
- Android系统的开机画面显示过程分析
- xcode 6 配置ASIHTTPRequest 遇到问题
- 非正常关闭vi编辑器时会生成一个.swp文件
- Visual Studio 命令提示 工具原理解析
- C#中Trim()、TrimStart()、TrimEnd()的用法
- N32926 Linux 中断 程序随笔记录 (转)
- eclipse部署web项目的几个小问题
- nyoj221 Tree
- JAVA 容器类总结
- 添加第三方类库造成的linker command failed with exit code 1 (use -v to see invocation)的错误调试
- 网路技术,从“数制”开始学起 ——跟随王达老师一步步学习网络技术
- 应用程序并行配置不正确使用命令行sxstrace.exe