【发布时间】:2017-06-17 06:20:33
【问题描述】:
我正在尝试设置一个 MSBuild 目标以在构建过程中运行 npm install。
<Target Name="EnsureNpmBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<NpmToolExe Condition="$(NpmToolExe) == '')">npm</NpmToolExe>
</PropertyGroup>
<Exec Command="$(NpmToolExe) install" />
</Target>
如果用户自己安装了 Node.js,我想使用那个版本。假设它已将其位置安装到 Windows 上的 %PATH% 环境变量中,则上述目标将起作用。
我遇到问题的部分是尝试使用与 Visual Studio 捆绑在一起的 npm 工具的回退(适用于我团队中不进行 JS 开发但仍将项目作为其一部分的人)解决方案)。这个版本可以在$(VsInstallDir)Web/External下创建。
虽然我可以为npm.cmd 文件的可能位置构建ItemGroup,但我不知道如何将其作为有序列表并使用存在的第一个版本。
关于如何让 MSBuild 搜索几个位置以找到该工具的任何建议?
【问题讨论】:
标签: msbuild