Skip to main content
 首页 » 编程设计

visual-studio-2013之Visual Studio添加始终运行的预构建事件(C#项目)

2024年11月24日22飞鱼

在我的项目中,我正在运行一个外部工具来更新一些二进制文件。这些文件作为“内容”包含在项目中。

目前,该工具已设置为在C#项目属性的“预构建事件”期间运行。不幸的是,仅当项目已过期时才执行此事件,这不是我所需要的。

我一直在我的项目中始终使用“rebuild”而不是“build”来解决此问题,但这既繁琐又缓慢。

无论项目是否是最新的,我都需要始终执行此工具。实际上,甚至在MSBuild甚至没有确定项目是否最新之前,因为该工具都会修改项目中包含的某些文件,因此会影响最新的检查结果。

有适当的方法吗?

请您参考如下方法:

这是解决方案。在项目文件中定义此属性:

<PropertyGroup> 
    <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck> 
</PropertyGroup>  

然后,无论项目是否最新,PreBuildStep都会每次执行。

似乎Visual Studio绕过了MSBuild的常规最新检查,并使用了某种更快的自定义检查,但具有破坏自定义生成目标的副作用。