在 VS2015 的预构建事件中从 nuget 包文件夹调用可执行文件

Invoking executable from nuget package folder in pre-build event in VS2015

我有带有命令行工具的 nuget 包,我想从 VS2015 项目的预构建事件中调用这些工具。

我可以使用相对路径从包文件夹调用命令,但是如果 nuget 包版本或包文件夹发生变化,我必须修改该路径。有没有更简单的方法来做到这一点?

您可以在您的项目根目录下创建一个批处理文件来调用您的工具,这与下面的脚本类似。更多关于在你的构建脚本中使用Nuget安装的工具的详细信息,请参考:

https://lostechies.com/joshuaflanagan/2011/06/24/how-to-use-a-tool-installed-by-nuget-in-your-build-scripts/

@ECHO OFF 
SETLOCAL

FOR /R %~dp0\source\packages %%G IN (nunit-console.exe) DO ( 
 IF EXIST %%G ( 
  SET TOOLPATH=%%G 
  GOTO FOUND 
  ) 
) 

IF '%TOOLPATH%'=='' GOTO NOTFOUND 

:FOUND 
%TOOLPATH% %* 
GOTO :EOF 

:NOTFOUND 
ECHO nunit-console not found. 
EXIT /B 1