【问题标题】:Unable to convert project as VSProject无法将项目转换为 VSProject
【发布时间】:2023-03-06 09:09:01
【问题描述】:

我们创建了如下所示的解决方案,并在创建解决方案后添加了默认项目。请参考下面的代码

        Type visualStudioType = Type.GetTypeFromProgID("VisualStudio.DTE.12.0", true);
        DTE env = Activator.CreateInstance(visualStudioType, true) as DTE;
        ServiceProvider serviceProvider = new ServiceProvider(env as Microsoft.VisualStudio.OLE.Interop.IServiceProvider);
        DTE dte = (DTE)serviceProvider.GetService(typeof(DTE));
        Object obj = System.Activator.CreateInstance(visualStudioType, true);

        EnvDTE80.DTE2 dte8Obj = (EnvDTE80.DTE2)obj;

        Solution2 soln = (Solution2)dte8Obj.Solution;

1.创建项目解决方案时出现如下异常。

2.创建项目后,我们无法将项目转换为VSProject。它显示的异常如下所示。

请给出解决上述问题的解决方案。

【问题讨论】:

    标签: c# visual-studio-2013 solution envdte vspackage


    【解决方案1】:

    您的代码可以简化为:

    Type visualStudioType = Type.GetTypeFromProgID("VisualStudio.DTE.12.0", true);
    
    EnvDTE80.DTE2 dte2 = Activator.CreateInstance(visualStudioType, true) as EnvDTE80.DTE2;
    
    EnvDTE80.Solution2 soln = dte2.Solution as EnvDTE80.Solution2;
    

    关于定位 EnvDTE 版本 7.0.3300.0 的错误,请参阅:

    Error When EnvDTE Is Used with VSLangProj Assemblies

    【讨论】:

    • 您好 Carrlos,感谢您的回复。我已尝试像您建议的那样添加 app.config 文件,但问题未解决。
    • 嗨 Carrlos,我尝试使用上面的建议代码 sn-p 创建项目。但是我随机收到下面提到的错误,1).System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {656D8328-93F5-41A7-A48C-B42858161F25} 由于以下错误而失败:80080005服务器执行失败(来自 HRESULT 的异常:0x80080005 (CO_E_SERVER_EXEC_FAILURE))。 2).“RPC 服务器不可用。(HRESULT 异常:0x800706BA)”您能否建议如何解决上述问题? " 最好的问候,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    相关资源
    最近更新 更多