public static bool IsMSBuildIceBuilderInstalled(this IVsProject project)
        {
            var type = project.GetProjecTypeGuid();

            if (type.Equals(cppProjectGUID) || type.Equals(cppStoreAppProjectGUID) || type.Equals(csharpProjectGUID))
            {
                //
                // Find the full path of MSBuild Ice Builder props and target files and check they exists
                //
                var props = project.WithProject((MSProject msproject) =>
                {
                    return(msproject.Imports.Where(
                               import => import.ImportedProject.FullPath.EndsWith("zeroc.icebuilder.msbuild.props")).Select(
                               import => import.ImportedProject.FullPath).FirstOrDefault());
                });

                var targets = project.WithProject((MSProject msproject) =>
                {
                    return(msproject.Imports.Where(
                               import => import.ImportedProject.FullPath.EndsWith("zeroc.icebuilder.msbuild.targets")).Select(
                               import => import.ImportedProject.FullPath).FirstOrDefault());
                });
                return(!string.IsNullOrEmpty(props) && !string.IsNullOrEmpty(targets) && File.Exists(props) && File.Exists(targets));
            }
            return(false);
        }
        public static bool IsCSharpProject(this IVsProject project)
        {
            Guid type = project.GetProjecTypeGuid();

            return(type.Equals(csharpProjectGUID));
        }
        public static bool IsCppProject(this IVsProject project)
        {
            Guid type = project.GetProjecTypeGuid();

            return(type.Equals(cppProjectGUID) || type.Equals(cppStoreAppProjectGUID));
        }