我想创建一个 Visual Studio 项目模板,通过在将其添加到解决方案时执行 T4 模板在解决方案中生成项目(例如自定义 .aspx 页面)。为此,我正在使用此链接: http: //msdn.microsoft.com/en-us/library/gg586947.aspx 谁能告诉我如何获取服务提供商,这在上面链接的代码中提到。为了解决这个问题,我写道:
EnvDTE.DTE dte = (EnvDTE.DTE)Package.GetGlobalService(typeof(EnvDTE.DTE)); // 获取一个服务提供者——你怎么做取决于上下文:
IServiceProvider serviceProvider = new Microsoft.VisualStudio.Shell.ServiceProvider(dte as Microsoft.VisualStudio.OLE.Interop.IServiceProvider);
但它给了我一个争论空异常错误,因为变量 dte 仍然为空。为什么它是空的?我不知道我这样做是对还是错。请建议我如何实现上面链接中代码中给出的 serviceprovider 以便我可以继续前进。如果可能,请给我一个代码示例。
请建议,
谢谢,马尤尔