public int CreateProject(string pszFilename, string pszLocation, string pszName, uint grfCreateFlags, ref Guid iidProject, out IntPtr ppvProject, out int pfCanceled)
        {
            //throw new NotImplementedException();
            pfCanceled = 0;
            try
            {
                this.buildProject = Utilities.ReinitializeMsBuildProject(this.buildEngine, pszFilename, this.buildProject);

                CogaenEditProject project = new CogaenEditProject(this.Package, (IOleServiceProvider)((IServiceProvider)this.Package).GetService(typeof(IOleServiceProvider)), this.buildProject);
                project.BuildEngine = Microsoft.Build.Evaluation.ProjectCollection.GlobalProjectCollection;

                project.Load(pszFilename, pszLocation, pszName, grfCreateFlags, ref iidProject, out pfCanceled);
                ppvProject = Marshal.GetIUnknownForObject(project);

            }
            catch(Exception e)
            {
                pfCanceled = 1;
                ppvProject = IntPtr.Zero;
            }
            return VSConstants.S_OK;
        }