我知道有一些关于SO的问题,但他们要么没有答案,要么解决方案对我没有帮助。
此gulp任务在具有Visual Studio 2017
的其他计算机上成功执行,但在Visual Studio 2019
上未成功执行。
当我运行“Build-Solution”任务时,它失败并显示以下错误
[11:33:58]正在启动“构建解决方案...”
MSBUILD:错误MSB 1001:
未知开关。开关:/restore对于开关语法,请键入“MSBuild
/help”[11:33:59] MSBuild失败,代码为1![11:33:59]
“构建解决方案”在1.04秒后出错[11:33:59]错误:MSBuild失败,代码为1!
at ChildProcess.<anonymous> (C:\Projects\MyProj\node_modules\gulp-msbuild\lib\msbuild-runner.js:66:25)
at ChildProcess.emit (events.js:314:20)
at ChildProcess.EventEmitter.emit (domain.js:506:15)
at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)
at Process.callbackTrampoline (internal/async_hooks.js:126:14) Process terminated with code 1.
1条答案
按热度按时间zbdgwd5y1#
因此,这取决于您使用的构建脚本。Sitecore Habitat使用的默认gulp脚本使用以下gulp模块:https://www.npmjs.com/package/gulp-msbuild
而且,您将使用此模块构建类似于此任务的任务
});
如果您正在使用这个开关,我猜您正在尝试在任务中使用msbuild开关,例如:
});
因为是的,Msbuild提供这样的开关,你可以找到here,但gulp-msbuild插件试图使用vs 2017默认如果我没有错.从msbuild-finder.js你可以看到,它正在寻找msbuild工具在vs 2017目录:
但是,如果你指定了版本路径,你应该很好(从msbuild-command-builder.js):
安装了Visual Studio 2019之后,我认为您应该使用buildToolsVersion 15.0。请参阅this thread;
另一方面,您可能希望使用msbuild plugin来代替。我还有an article,它涵盖了从gulp3.9到gulp 4的切换,其中包含一些msbuild示例。您可能会发现它与此相关