在解决方案中构建任何项目之前运行的预构建事件。

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

1
你可以尝试这个:http://sedodream.com/2010/10/22/MSBuildExtendingTheSolutionBuild.aspx 不幸的是,它只能通过MSBuild从命令行调用。看起来这是一个设计缺陷,因为行为不同,并且这些事件在IDE中不可用。
你也可以修改基本的MSBuild任务,根据特定的标志/文件存在/解决方案名称包含相应的操作,但这样做有很多问题。
否则,你只能在每个项目上进行预构建。

0

对于使用NuGet包的任何项目,我会在预构建事件中调用NuGet安装。它足够智能,只会下载尚未下载的软件包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接