如何找到NuGet包安装的可执行文件?

时间:2014-07-21 15:23:25

标签: path nuget post-build-event

我的项目需要打包为zip文件进行部署。我想在后期构建步骤中创建此zip文件。

为了达到这个目的,我已经通过NuGet安装了一个7-Zip命令行软件包。这个包提供了一个可执行文件,我想在后期构建步骤中调用它。我知道我可以通过提供已安装软件包的路径来调用它,但是此路径包含软件包的版本号,因此在更新软件包时将直接引用。

是否有一些MSBuild变量可用于获取已安装软件包工具路径的路径?

1 个答案:

答案 0 :(得分:1)

我认为没有办法避免软件包路径中的版本号,但是你可以做一些像SlowCheetah nuget软件包那样使它在开发者机器之间更容易移植等等。 。

<PropertyGroup Label="SlowCheetah">
 <SlowCheetahToolsPath>$([System.IO.Path]::GetFullPath( $(MSBuildProjectDirectory)\..\packages\SlowCheetah.2.5.12\tools\))</SlowCheetahToolsPath>
 <SlowCheetah_EnableImportFromNuGet Condition=" '$(SlowCheetah_EnableImportFromNuGet)'=='' ">true</SlowCheetah_EnableImportFromNuGet>
 <SlowCheetah_NuGetImportPath Condition=" '$(SlowCheetah_NuGetImportPath)'=='' ">$([System.IO.Path]::GetFullPath( $(MSBuildProjectDirectory)\Properties\SlowCheetah\SlowCheetah.Transforms.targets ))</SlowCheetah_NuGetImportPath>
 <SlowCheetahTargets Condition=" '$(SlowCheetah_EnableImportFromNuGet)'=='true' and Exists('$(SlowCheetah_NuGetImportPath)') ">$(SlowCheetah_NuGetImportPath)</SlowCheetahTargets>
</PropertyGroup>