我在Visual Studio中有超过70个C#项目在解决方案中。他们中的大多数依赖于我拥有由Entity Framework 4.3创建的数据库模型的项目。
我决定创建预生成的视图以提高性能,如下所述:http://msdn.microsoft.com/en-us/library/bb896240.aspx
一段时间后,我发现项目中的任何小变化(取决于DB项目)都会导致大多数项目的重建。删除预构建事件后,一切都恢复正常。
示例:
项目数据库 - 具有预构建触发器
项目A - 取决于项目数据库
项目B
项目C - 取决于项目D
项目D - 取决于项目数据库
项目A中的更改会触发项目数据库上的预构建触发器,并且将重建除项目B之外的所有项目。
这是一种奇怪的行为,因为pre-buid事件的msdn说:
如果项目是最新的并且没有触发构建,则不会运行预构建事件。
任何想法为什么会发生?