我开发了一个命令行实用程序,它接受.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 的完整相对路径。
是否可能使用 Init.ps1 脚本(或其他机制)来调整路径,以便在编写后期构建事件时不需要指定工具的完整相对路径,或以其他方式自动包含运行工具为后期构建步骤?
注意:我知道NuGet可能不是传递此类工具的理想方式,但它很方便。