如何通过插件在项目中运行T4文件?任何提示/线索?我发现EnvDte文档特别稀缺。
我得到了这个解决方案,因为我需要在构建事件上运行我的T4模板。每次发生变化时我都不想手动运行自定义工具。我不能从命令行运行它,因为T4脚本引用了DTE对象,当从cmd行运行时它只是barfs out。
我还考虑过使用Macros,但是VS2012上没有宏,而且我的本地计算机上有一个错误阻止我启动宏IDE。所以这不是一个好的短期/长期解决方案。
最好的解决方案似乎是自己编写插件来在构建时运行T4文件。这是我得到的:
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
_applicationObject.Events.BuildEvents.OnBuildBegin += customBuildHander;
}
void customBuildHander(vsBuildScope Scope, vsBuildAction Action)
{
if (Scope == vsBuildScope.vsBuildScopeProject)
{
//Need to run steps 1 thru 3 here!
}
}
我需要以某种方式在上面的代码中使用以下例程:
请帮忙!
答案 0 :(得分:2)
你可能应该使用DTE基础设施来调用IDE命令TransformAllTemplates来运行一个命令而不是自己遍历如果你打算全部运行它们。