1
我试图设置一个MSBuild目标来运行npm install
作为构建过程的一部分。MSBuild查找工具路径
<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在几个位置搜索以找到该工具的任何建议?
你能解释一下(也许增加一些意见),这段代码是如何实现你所说的? –
@PaulTurner - 完成。 :) – weir
反序排序评估是我失踪的把戏;好东西。 –