我需要构造一个具有一定智能的Visual Studio项目模板。我已经发现了一种方法,可以让Visual Studio在从我的模板创建新项目时调用我的自定义代码,自定义代码显示一个对话框,并从用户那里收集信息,然后定义项目模板可以使用的其他替代。一切都很好。
这个模板以前是几个非常相似的模板的集合,不同之处只在于主类实现了哪个接口。我的目标是将这个模板集合压缩成一个“智能模板”,它会根据用户的输入自动实现正确的接口。
为此,我需要在创建代码时修改生成的代码。Visual Studio在创建新项目后调用我的自定义向导代码,然后我想进入新创建的C#代码并以编程方式添加接口实现。我想在主类后面添加“:IMyInterface”,然后触发IntelliSense来为我扩展实现。这是我不知道该怎么做的部分。
有人能给我一些关于如何使用Visual Studio对象模型自动实现接口的建议吗?
发布于 2009-08-27 21:27:34
如果您可以打开文件本身并将其作为文本加载,则应该能够将占位符放在初始界面(比如#interface_placeholder#)的位置,然后对字符串中的占位符进行搜索/替换,并将其添加到项目中,而不是初始文件。无论如何,我认为这应该是可能的。这有意义吗?
发布于 2009-12-07 20:32:56
我认为最适合您需要的解决方案是使用GAT和GAX。
它需要一些工作才能很好地工作,但它绝对可以帮助您:http://msdn.microsoft.com/en-us/teamsystem/aa718948.aspx
发布于 2011-01-19 03:59:54
使用GAX的问题是,它要求最终用户在安装使用GAX构建的模板之前下载框架。
一个更好的解决方案是使用VS2010SDK来构建VSIX,这将不需要最终用户下载任何额外的插件来安装您的模板。你可以在这里看看:Multi-Project Templates with Wizard: Visual Studio 2010 Sample
https://stackoverflow.com/questions/1317687
复制相似问题