我正在为 Visual Studio 编写一个插件,它为生产代码项目创建一个测试项目。它应该支持 C、C++ 和 C# 项目。对于 C/C++ 项目,我可以使用 VCPostBuildEventTool 以编程方式设置发布和预构建事件。
这就是我从 Project 对象中获取它的方式:
VCProject vcTestProj = (VCProject)testProj.Object;
IVCCollection testProjCfgs = (IVCCollection)vcTestProj.Configurations;
VCConfiguration testProjDebugCfg = (VCConfiguration)testProjCfgs.Item("Debug");
VCLinkerTool testProjLinkerTool = (VCLinkerTool)((IVCCollection)testProjDebugCfg.Tools).Item("VCLinkerTool");
VCCLCompilerTool testProjectCompileTool = (VCCLCompilerTool)((IVCCollection)testProjDebugCfg.Tools).Item("C/C++ Compiler Tool");
VCPreBuildEventTool testProjPreBuildTool = (VCPreBuildEventTool)((IVCCollection)testProjDebugCfg.Tools).Item("Pre-Build Event Tool");
VCPostBuildEventTool testProjPostBuildTool = (VCPostBuildEventTool)((IVCCollection)testProjDebugCfg.Tools).Item("Post-Build Event Tool");
但是 C# 项目不能用作 VCProject,而且我找不到以编程方式访问它的构建前和构建后事件的方法。无论如何要这样做?