在vsix项目中访问当前打开的解决方案

时间:2015-07-08 12:06:07

标签: c# visual-studio visual-studio-2015 vsix

我想从vsix项目访问Visual Studio中当前打开的解决方案的路径。我怎么能得到它?

This thread tells if a solution is open与否,但没有提供已打开解决方案的路径

2 个答案:

答案 0 :(得分:5)

我建议在开发软件包时尽可能避免使用EnvDTE,并尽可能使用本机服务。在这种情况下IVsSolution.GetSolutionInfo

答案 1 :(得分:1)

我用这个:

    public string GetInitialFolder(DTE dte)
    {
        if (!dte.Solution.IsOpen)
            return null;
        return System.IO.Path.GetDirectoryName(dte.Solution.FullName);
    }

但是期望它出错,有时它无法返回路径!