无法将类型 'System.__ComObject' 的 COM 对象转换为接口类型 'EnvDTE.Project'

Unable to cast COM object of type 'System.__ComObject' to interface type 'EnvDTE.Project'

我正在使用 Visual Studio 2015 项目模板中的 Azure 资源组项目为我的项目创建 Azure 资源管理器部署模板。我之前成功地创建了项目。但是今天,我将Azure SDK更新到v2.9.5,突然创建项目失败了。它失败并显示以下错误消息。

Unable to cast COM object of type 'System.__ComObject' to interface type 'EnvDTE.Project'. This operation failed because the QueryInterface call on the COM component for the interface with IID '866311E6-C887-9833-645F5B93F6F1}' failed due to the following error: No cush interface supported (Exception from HRESULT: 0x80004002 (E_NONINTERFACE)).

当我 select 从模板 selection 对话框(我 selected WebApp+SQL 模板开始模板时发生此异常。其他模板失败,因为出色地)。所以在此之后项目创建不完整。

我在 3 台安装了 Azure SDK v2.9.5 的不同 PC 上遇到了同样的问题。这个问题与SDK本身有关吗?或者我该如何解决这个问题。

我在尝试为现有应用程序创建新的 Azure 项目时遇到了同样的问题。

我能够通过使用新解决方案创建新项目并选择我想要的模板来解决该问题。然后我将 azure 模板项目添加到我现有的项目中没有问题。

我们有错误,正在修复。与此同时,您可以:

  • 从您的解决方案中删除解决方案项目
  • 添加新项目
  • 将解决方案项添加回去

LMK 如果这不能为您解决问题...

试试这个: 使用管理员权限打开 'cmd',

regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\dte80.olb"
regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\dte80a.olb"
regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\dte90.olb"
regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\dte90a.olb"