我一直在对开源MarkdownDeep进行一些修改, 但在发布版本时遇到了麻烦——该项目包括一个使用 Nuget.exe 进行一些打包的构建后任务。
我可以从 dos 框中执行命令而不会出现错误,但该步骤总是失败(从 VisualStudio 作为发布构建配置的一部分运行时出现错误:9009。
谁能想到这是为什么?
我一直在对开源MarkdownDeep进行一些修改, 但在发布版本时遇到了麻烦——该项目包括一个使用 Nuget.exe 进行一些打包的构建后任务。
我可以从 dos 框中执行命令而不会出现错误,但该步骤总是失败(从 VisualStudio 作为发布构建配置的一部分运行时出现错误:9009。
谁能想到这是为什么?
我猜想当你从命令行手动运行时,你要么,
底线似乎是从 Visual Studio 执行时路径/s 不起作用(找不到执行操作所需的目录/文件,由于换行,PATH
环境变量中不存在文件等)。
Visual Studio 中的构建前和构建后步骤“转换”为单个批处理脚本并执行,此步骤中的路径应正确括在引号中,绝对或相对指定等,但最终需要能够正确扩展/解决完整的路径。
例如,我将引用以下代码段:
SvcUtil.exe 参数1 参数2 会失败
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe parameter1 parameter2 会失败
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe" parameter1 parameter2 就可以了。