Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 执行生成后步骤时使用了哪些路径/环境变量?_Visual Studio 2008_Build - Fatal编程技术网

Visual studio 2008 执行生成后步骤时使用了哪些路径/环境变量?

Visual studio 2008 执行生成后步骤时使用了哪些路径/环境变量?,visual-studio-2008,build,Visual Studio 2008,Build,我试图在VS2008项目中执行以下生成后步骤: sn.exe **some arguments** 并不断得到错误 “sn.exe”无法识别为内部或外部命令、可操作程序或批处理文件 执行生成后步骤时使用了哪些路径/环境变量?我假设它相当于VisualStudio命令提示符创建的环境,但显然情况并非如此 确保可以使用常用生成工具(如sn.exe)的最佳方法是什么?在命令中指定sn.exe的完整路径 例如,c:\winsdk\bin\sn.exe 如果在c:\winsdk上安装了Windows S

我试图在VS2008项目中执行以下生成后步骤:

sn.exe **some arguments**
并不断得到错误

“sn.exe”无法识别为内部或外部命令、可操作程序或批处理文件

执行生成后步骤时使用了哪些路径/环境变量?我假设它相当于VisualStudio命令提示符创建的环境,但显然情况并非如此


确保可以使用常用生成工具(如sn.exe)的最佳方法是什么?

在命令中指定sn.exe的完整路径

例如,
c:\winsdk\bin\sn.exe

如果在c:\winsdk上安装了Windows SDK,则此操作有效。如果在传统地点安装了Windows SDK,则可以使用

“c:\Program Files\Microsoft SDK\Windows\v6.1\Bin\sn.exe”

确保在该路径周围使用双引号,因为它包含空格,并检查/替换该版本号

我使用该工具在c:\winsdk中定义了一个连接,参考
“c:\Program Files\Microsoft SDK\Windows\v6.1”
,这允许我使用任何一种形式。

您可以尝试运行vcvarsall.bat来设置环境变量。

您可以通过执行
set
命令作为构建后步骤来了解这一点。我确实希望避免指定确切的路径-此项目文件构建在许多不同的机器上,包括构建机器和开发人员机器-有些是x64,有些是x86,有些是xp,有些是Windows7等等。。。使用这样的显式路径,即使开发人员在稍微不同的位置安装SDK(或安装不同版本的SDK),构建也会中断@Kragen:解决方法是使用所有计算机都必须定义的环境变量(
%SNPATH%
)。对于不同的VS安装(例如,
%VS90COMNTOOLS%
)也有预定义的变量。@Kragen-那么,您必须为如何查找sn.exe的位置建立一些约定。@sbi建议的环境变量,或Windows SDK的已知安装位置。