通过NuGet提供命令行工具,用于Visual Studio中的后期构建事件

Pab*_*imo 9 .net powershell visual-studio nuget

我开发了一个命令行实用程序,它将.NET程序集作为输入,并生成XML作为输出供其他产品使用.

理想情况下我会拥有它:

  • 通过NuGet作为解决方案级包提供
  • 可在项目级别的后期构建事件中访问
  • 我陷入困境的位置:仅通过指定不带路径的命令名称即可在该构建后事件中访问
    • MyTool.exe/i $(TargetPath)而不是..\packages\ToolName-1.0.0.0\tools\MyTool.exe/i $(TargetPath)

我可以做的前两件事,以及上面的构建后事件命令工作得很好,但只有当我第一次打开包管理器控制台时(即使我没有输入任何命令,只需要打开它) - 貌似当它启动时它正在用路径做一些很酷的事情,所以我不必指定..\packages\ToolName-1.0.0.0\tools\MyTool.exe.

我的NuGet包是否可以使用Init.ps1脚本(或其他一些机制)来调整路径,这样我就不需要在编写构建后事件时指定工具的完整相对路径,或者包含run工具作为后期构建步骤自动?

注意 - 我接受NuGet可能不是提供这种工具的理想载体,但它会很方便.

小智 -2

这可能会帮助你-> http://lostechies.com/joshuaflanagan/2011/06/24/how-to-use-a-tool-installed-by-nuget-in-your-build-scripts/

我在“CD”命令中使用了带有通配符的解决方案,所以我的构建后看起来像这样:

CD "$(SolutionDir)packages\ToolName*\tools"
MyTool.exe
Run Code Online (Sandbox Code Playgroud)