在 Visual Studio 2008 中,我们运行一个调用 NANT 的构建后事件,然后创建我们的配置文件。
例如
if $(SolutionDir) == . GOTO end
nant -buildfile:$(SolutionDir)default.build create..web.config
有没有办法只在 ReBuild 上运行它?
在 Visual Studio 2008 中,我们运行一个调用 NANT 的构建后事件,然后创建我们的配置文件。
例如
if $(SolutionDir) == . GOTO end
nant -buildfile:$(SolutionDir)default.build create..web.config
有没有办法只在 ReBuild 上运行它?
我认为您可以通过指定构建目标而不是使用构建事件来做到这一点。尝试创建一个 AfterClean 目标来删除您生成的配置文件,并创建一个 BeforeBuild 目标来创建它们。确保为 BeforeBuild 目标设置了文件依赖项,因此 msbuild 知道它应该只在文件不存在时运行该步骤。
我实际上没有尝试过,但我相信 msbuild 只会在目标文件不存在时运行目标。当您重建时,将调用清理过程,进而调用您的 AfterClean 目标。
您可以在此处阅读有关构建目标的更多信息。使用构建目标而不是事件的唯一真正缺点是它们在 VS UI 的任何地方都不可见 - 只有在检查项目文件时才能找到它们。
可能有一个涉及事件的更直接的解决方案 - 在这里查看 msbuild 团队博客。