我写了一个小程序用于下载解决方案中的所有NuGet包。我希望设置一个预构建事件,在每次构建时运行此程序。但是我需要在第一个项目开始构建之前运行它。我可以先查看当前正在构建的内容,然后将其放入该项目的预构建事件中,但这样做比较脆弱。每次添加新项目或更新项目之间的引用时,都需要确保“第一个”构建项目仍然是第一个。因此,我真正需要的是在任何构建真正开始之前完成此操作。我听说过Visual Studio宏,但那些不是被检入源代码管理的东西,所以我不愿使用它们(但如果那是我的唯一选择,我会使用它们)。
对于使用NuGet包的任何项目,我会在预构建事件中调用NuGet安装。它足够智能,只会下载尚未下载的软件包。