コード例 #1
0
        private static void UpgradeProject(string sourceProjectFilePath, string destProjectFilePath, IVsUpgradeLogger pLogger, string projectName)
        {
            var projectData = new ProjectUpgradeHelper(sourceProjectFilePath);

            if (IsNeedUpdateNemerleBinPathRootProperty(projectData.NemerleBinPathRoot))
            {
                projectData.NemerleBinPathRoot.Value = NetFrameworkProjectConstants.NemerleBinPathRoot;
                projectData.NemerleBinPathRoot.SetAttributeValue("Condition", " '$(NemerleBinPathRoot)' == '' ");
            }
            else if (!Utils.Eq(projectData.NemerleBinPathRoot.Value, NetFrameworkProjectConstants.NemerleBinPathRoot))
            {
                pLogger.LogMessage((uint)__VSUL_ERRORLEVEL.VSUL_WARNING, projectName, sourceProjectFilePath, "The NemerleBinPathRoot property changed by user. You must update it manually.");
            }

            projectData.NemerleVersion.Value = NetFrameworkProjectConstants.NemerleVersion;

            if (IsNeedUpdateNemerleProperty(projectData.NemerleProperty))
            {
                projectData.NemerleProperty.Value = NetFrameworkProjectConstants.NemerleProperty;
            }
            else if (!Utils.Eq(projectData.NemerleProperty.Value, NetFrameworkProjectConstants.NemerleProperty))
            {
                pLogger.LogMessage((uint)__VSUL_ERRORLEVEL.VSUL_WARNING, projectName, sourceProjectFilePath, "The Nemerle property changed by user. You must update it manually.");
            }

            projectData.NemerleProperty.Document.Save(destProjectFilePath);
        }
コード例 #2
0
        public int UpgradeProject_CheckOnly(string projectFileName, IVsUpgradeLogger pLogger, out int pUpgradeRequired, out Guid pguidNewProjectFactory, out uint pUpgradeProjectCapabilityFlags)
        {
            pUpgradeRequired = 1;
            pUpgradeProjectCapabilityFlags = (uint)(__VSPPROJECTUPGRADEVIAFACTORYFLAGS.PUVFF_BACKUPSUPPORTED | __VSPPROJECTUPGRADEVIAFACTORYFLAGS.PUVFF_COPYBACKUP);
            pguidNewProjectFactory         = Guid.Empty;

            ProjectUpgradeHelper projectData;

            try
            {
                projectData = new ProjectUpgradeHelper(projectFileName);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Nemerle language");
                pUpgradeRequired = 0;
                return(VSConstants.E_FAIL);
            }

            if (projectData.ToolsVersion == null)
            {
                return(VSConstants.S_OK);
            }

            // Check ToolsVersion
            // Can be one of the following: 4.0
            var version = ParseVersion(projectData.ToolsVersion.Value);

            if (!(version.Major == 4 && version.Minor == 0))
            {
                return(VSConstants.S_OK);
            }

            if (IsNeedUpdateNemerleProperty(projectData.NemerleProperty))
            {
                return(VSConstants.S_OK);
            }

            if (IsNeedUpdateNemerleVersion(projectData))
            {
                return(VSConstants.S_OK);
            }

            if (IsNeedUpdateNemerleBinPathRootProperty(projectData.NemerleBinPathRoot))
            {
                return(VSConstants.S_OK);
            }

            if (IsNeedUpdateTargetFrameworkVersion(projectData))
            {
                return(VSConstants.S_OK);
            }

            pUpgradeRequired = 0;

            return(VSConstants.S_OK);
        }
コード例 #3
0
        public int UpgradeProject_CheckOnly(string projectFileName, IVsUpgradeLogger pLogger, out int pUpgradeRequired, out Guid pguidNewProjectFactory, out uint pUpgradeProjectCapabilityFlags)
        {
            pUpgradeRequired = 1;
            pUpgradeProjectCapabilityFlags = (uint)(__VSPPROJECTUPGRADEVIAFACTORYFLAGS.PUVFF_BACKUPSUPPORTED | __VSPPROJECTUPGRADEVIAFACTORYFLAGS.PUVFF_COPYBACKUP);
            pguidNewProjectFactory         = Guid.Empty;

            var projectData = new ProjectUpgradeHelper(projectFileName);

            var version = ParseVersion(projectData.ToolsVersion.Value);

            if (projectData.ToolsVersion == null || version.Major != 3 && version.Minor != 5)
            {
                return(VSConstants.S_OK);
            }

            if (IsNeedUpdateNemerleProperty(projectData.NemerleProperty))
            {
                return(VSConstants.S_OK);
            }

            if (IsNeedUpdateNemerleVersion(projectData))
            {
                return(VSConstants.S_OK);
            }

            if (IsNeedUpdateNemerleBinPathRootProperty(projectData.NemerleBinPathRoot))
            {
                return(VSConstants.S_OK);
            }

            if (!Utils.Eq(projectData.TargetFrameworkVersion.Value, Default.TargetFrameworkVersion))
            {
                return(VSConstants.S_OK);
            }

            pUpgradeRequired = 0;

            return(VSConstants.S_OK);
        }
コード例 #4
0
        public int UpgradeProject_CheckOnly(string projectFileName, IVsUpgradeLogger pLogger, out int pUpgradeRequired, out Guid pguidNewProjectFactory, out uint pUpgradeProjectCapabilityFlags)
        {
            pUpgradeRequired = 1;
            pUpgradeProjectCapabilityFlags = (uint)(__VSPPROJECTUPGRADEVIAFACTORYFLAGS.PUVFF_BACKUPSUPPORTED | __VSPPROJECTUPGRADEVIAFACTORYFLAGS.PUVFF_COPYBACKUP);
            pguidNewProjectFactory         = Guid.Empty;

            ProjectUpgradeHelper projectData;

            try
            {
                projectData = new ProjectUpgradeHelper(projectFileName);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Nemerle language");
                pUpgradeRequired = 0;
                return(VSConstants.E_FAIL);
            }

            if (IsNeedUpdateNemerleProperty(projectData.NemerleProperty))
            {
                return(VSConstants.S_OK);
            }

            if (IsNeedUpdateNemerleVersion(projectData))
            {
                return(VSConstants.S_OK);
            }

            if (IsNeedUpdateNemerleBinPathRootProperty(projectData.NemerleBinPathRoot))
            {
                return(VSConstants.S_OK);
            }

            pUpgradeRequired = 0;

            return(VSConstants.S_OK);
        }
コード例 #5
0
 private static bool IsNeedUpdateNemerleVersion(ProjectUpgradeHelper projectData)
 {
     return(!NetFrameworkProjectConstants.ValidNemerleVersions.Contains(projectData.NemerleVersion.Value));
 }
コード例 #6
0
 private static bool IsNeedUpdateTargetFrameworkVersion(ProjectUpgradeHelper projectData)
 {
     return(!Default.ValidTargetFrameworkVersions.Contains(projectData.TargetFrameworkVersion.Value));
 }
コード例 #7
0
 private static bool IsNeedUpdateNemerleVersion(ProjectUpgradeHelper projectData)
 {
     return(!Default.ValidNemerleVersions.Contains(projectData.NemerleVersion.Value));
 }
コード例 #8
0
        public int UpgradeProject_CheckOnly(string projectFileName, IVsUpgradeLogger pLogger, out int pUpgradeRequired, out Guid pguidNewProjectFactory, out uint pUpgradeProjectCapabilityFlags)
        {
            pUpgradeRequired = 1;
            pUpgradeProjectCapabilityFlags = (uint)(__VSPPROJECTUPGRADEVIAFACTORYFLAGS.PUVFF_BACKUPSUPPORTED | __VSPPROJECTUPGRADEVIAFACTORYFLAGS.PUVFF_COPYBACKUP);
            pguidNewProjectFactory = Guid.Empty;

            ProjectUpgradeHelper projectData;

            try
            {
                projectData = new ProjectUpgradeHelper(projectFileName);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Nemerle laguage");
                pUpgradeRequired = 0;
                return VSConstants.E_FAIL;
            }

              var version = ParseVersion(projectData.ToolsVersion.Value);
              if (projectData.ToolsVersion == null || version.Major != 4 && version.Minor != 0)
                return VSConstants.S_OK;

            if (IsNeedUpdateNemerleProperty(projectData.NemerleProperty))
                return VSConstants.S_OK;

            if (IsNeedUpdateNemerleVersion(projectData))
                return VSConstants.S_OK;

            if (IsNeedUpdateNemerleBinPathRootProperty(projectData.NemerleBinPathRoot))
                return VSConstants.S_OK;

            if (!Utils.Eq(projectData.TargetFrameworkVersion.Value, Default.TargetFrameworkVersion))
                return VSConstants.S_OK;

            pUpgradeRequired = 0;

            return VSConstants.S_OK;
        }
コード例 #9
0
        private static void UpgradeProject(string sourceProjectFilePath, string destProjectFilePath, IVsUpgradeLogger pLogger, string projectName)
        {
            var projectData = new ProjectUpgradeHelper(sourceProjectFilePath);

            projectData.ToolsVersion.Value = Default.ToolsVersion;

            if (IsNeedUpdateNemerleBinPathRootProperty(projectData.NemerleBinPathRoot))
            {
                projectData.NemerleBinPathRoot.Value = Default.NemerleBinPathRoot;
                projectData.NemerleBinPathRoot.SetAttributeValue("Condition", " '$(NemerleBinPathRoot)' == '' ");
            }
            else if (!Utils.Eq(projectData.NemerleBinPathRoot.Value, Default.NemerleBinPathRoot))
                pLogger.LogMessage((uint)__VSUL_ERRORLEVEL.VSUL_WARNING, projectName, sourceProjectFilePath, "The NemerleBinPathRoot property changed by user. You must update it manually.");

            projectData.NemerleVersion.Value = Default.NemerleVersion;

            if (IsNeedUpdateNemerleProperty(projectData.NemerleProperty))
                projectData.NemerleProperty.Value = Default.NemerleProperty;
            else if (!Utils.Eq(projectData.NemerleProperty.Value, Default.NemerleProperty))
                pLogger.LogMessage((uint)__VSUL_ERRORLEVEL.VSUL_WARNING, projectName, sourceProjectFilePath, "The Nemerle property changed by user. You must update it manually.");

            projectData.TargetFrameworkVersion.Value = Default.TargetFrameworkVersion;

            projectData.NemerleProperty.Document.Save(destProjectFilePath);
        }
コード例 #10
0
 private static bool IsNeedUpdateNemerleVersion(ProjectUpgradeHelper projectData)
 {
     return projectData.NemerleVersion.Value != Default.NemerleVersion;
 }
コード例 #11
0
 private static bool IsNeedUpdateNemerleVersion(ProjectUpgradeHelper projectData)
 {
     return(projectData.NemerleVersion.Value != Default.NemerleVersion);
 }
コード例 #12
0
 private static bool IsNeedUpdateTargetFrameworkVersion(ProjectUpgradeHelper projectData)
 {
     return !Default.ValidTargetFrameworkVersions.Contains(projectData.TargetFrameworkVersion.Value);
 }
コード例 #13
0
 private static bool IsNeedUpdateNemerleVersion(ProjectUpgradeHelper projectData)
 {
     return !Default.ValidNemerleVersions.Contains(projectData.NemerleVersion.Value);
 }
コード例 #14
0
 private static bool IsNeedUpdateNemerleVersion(ProjectUpgradeHelper projectData)
 {
     return !NetFrameworkProjectConstants.ValidNemerleVersions.Contains(projectData.NemerleVersion.Value);
 }