Пример #1
0
        public bool IsTargetFrameworkSupported(FrameworkName targetFramework)
        {
            bool flag;

            if (targetFramework == null)
            {
                return(false);
            }
            if (this.Adapters != null)
            {
                using (IEnumerator <IProjectAdapter> enumerator = this.Adapters.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        IProjectAdapter current = enumerator.Current;
                        try
                        {
                            if (current.RequiredTargetFramework.Identifier.Equals(targetFramework.Identifier, StringComparison.OrdinalIgnoreCase) && current.RequiredTargetFramework.Profile.Equals(targetFramework.Profile, StringComparison.OrdinalIgnoreCase) && current.RequiredTargetFramework.Version <= targetFramework.Version)
                            {
                                flag = true;
                                return(flag);
                            }
                        }
                        catch (Exception exception)
                        {
                            this.serviceProvider.MessageLoggingService().WriteLine(exception.Message);
                        }
                    }
                    return(false);
                }
                return(flag);
            }
            return(false);
        }
        public async Task <NuGetProject> TryCreateNuGetProjectAsync(IProjectAdapter projectAdapter, ProjectProviderContext context, IProjectRestoreService projectRestoreService, bool forceProjectType)
        {
            var buildProperties = projectAdapter.BuildProperties;

            // read MSBuild property RestoreProjectStyle, TargetFramework, and TargetFrameworks
            var restoreProjectStyle = await buildProperties.GetPropertyValueAsync(ProjectBuildProperties.RestoreProjectStyle);

            var targetFramework = await buildProperties.GetPropertyValueAsync(ProjectBuildProperties.TargetFramework);

            var targetFrameworks = await buildProperties.GetPropertyValueAsync(ProjectBuildProperties.TargetFrameworks);

            // check for RestoreProjectStyle property is set and if not set to PackageReference then return false
            if (!(string.IsNullOrEmpty(restoreProjectStyle) ||
                  restoreProjectStyle.Equals(PackageReference, StringComparison.OrdinalIgnoreCase)))
            {
                return(null);
            }
            // check whether TargetFramework or TargetFrameworks property is set, else return false
            else if (string.IsNullOrEmpty(targetFramework) && string.IsNullOrEmpty(targetFrameworks))
            {
                return(null);
            }

            //var projectName = projectAdapter.ProjectName;
            //var fullProjectPath = projectAdapter.ProjectFilePath;

            var projectServices = new VsMSBuildProjectSystemServices(new MSBuildProjectSystem(projectAdapter, context.ProjectContext), projectAdapter);

            return(new NetCorePackageReferenceNuGetProject(projectAdapter, projectServices, projectRestoreService));
        }
        public async Task <NuGetProject> TryCreateNuGetProjectAsync(IProjectAdapter vsProjectAdapter, ProjectProviderContext context)
        {
            var exceptions = new List <Exception>();

            foreach (var provider in _providers)
            {
                try
                {
                    var nuGetProject = await provider.TryCreateNuGetProjectAsync(
                        vsProjectAdapter,
                        context,
                        _projectRestoreService,
                        forceProjectType : false);

                    if (nuGetProject != null)
                    {
                        return(nuGetProject);
                    }
                }
                catch (Exception e)
                {
                    // Ignore failures. If this method returns null, the problem falls
                    // into one of the other NuGet project types.
                    exceptions.Add(e);
                }
            }

            exceptions.ForEach(e => _logger.LogError(e.ToString()));

            return(null);
        }
Пример #4
0
        protected async Task <NuGetProject> CreateProjectAsync(IProjectAdapter projectAdapter, INuGetProjectContext nuGetProjectContext = null)
        {
            var context = new ProjectProviderContext(
                nuGetProjectContext ?? EmptyNuGetProjectContext,
                () => PackagesFolderPathUtility.GetPackagesFolderPath(this, NuGetSettings));

            return(await _nuGetProjectFactory.TryCreateNuGetProjectAsync(projectAdapter, context));
        }
Пример #5
0
        public virtual IProjectAdapter GetProjectAdapter()
        {
            if (projectAdapter == null)
            {
                projectAdapter = new ProjectAdapter(logger, config.SamplesRoot);
            }

            return(projectAdapter);
        }
Пример #6
0
 public VSFake(ITargetAdapter targetAdapter, IProjectAdapter projectAdapter,
               ISessionDebugManager sessionDebugManager, ISolutionExplorer solutionExplorer,
               IDebugSession debugSession, VSFakeTimeoutSource timeouts)
 {
     TargetAdapter       = targetAdapter;
     ProjectAdapter      = projectAdapter;
     SessionDebugManager = sessionDebugManager;
     SolutionExplorer    = solutionExplorer;
     DebugSession        = debugSession;
     Timeouts            = timeouts;
 }
Пример #7
0
        //public MSBuildProjectSystem(string projectFullPath, INuGetProjectContext projectContext) : this(new MsBuildProject(projectFullPath), projectContext)
        //{

        //}

        public MSBuildProjectSystem(IProjectAdapter projectAdapter, INuGetProjectContext projectContext)
        {
            MsBuildProject = projectAdapter.Project;
            ProjectAdapter = projectAdapter;

            ProjectFileFullPath = MsBuildProject.ProjectFilePath;
            ProjectFullPath     = Path.GetDirectoryName(MsBuildProject.ProjectFilePath);
            ProjectName         = Path.GetFileNameWithoutExtension(MsBuildProject.ProjectFilePath);
            ProjectUniqueName   = MsBuildProject.ProjectFilePath;
            NuGetProjectContext = projectContext;
        }
        public NetCorePackageReferenceNuGetProject(IProjectAdapter projectAdapter, INuGetProjectServices projectServices, IProjectRestoreService projectRestoreService)
        {
            ProjectStyle = ProjectStyle.PackageReference;

            ProjectAdapter         = projectAdapter;
            _projectRestoreService = projectRestoreService;
            //ProjectServices = projectServices;

            InternalMetadata.Add(NuGetProjectMetadataKeys.Name, projectAdapter.ProjectName);
            InternalMetadata.Add(NuGetProjectMetadataKeys.UniqueName, projectAdapter.ProjectUniqueName);
            InternalMetadata.Add(NuGetProjectMetadataKeys.FullPath, projectAdapter.ProjectFilePath);
            InternalMetadata.Add(NuGetProjectMetadataKeys.ProjectId, projectAdapter.ProjectId);
        }
        private void InitFileWatcher(IProjectAdapter projectAdapter)
        {
            if (_fileSystemWatchers.ContainsKey(projectAdapter.ProjectFilePath))
            {
                return;
            }

            FileSystemWatcher fileSystemWatcher = new FileSystemWatcher(projectAdapter.ProjectDirectory)
            {
                EnableRaisingEvents = true,
            };

            fileSystemWatcher.Changed += FileSystemWatcher_Changed;
        }
Пример #10
0
        public T FindAdapter <T>(Microsoft.Expression.Project.IProject project, out Microsoft.Expression.Extensibility.Project.IProject extensionProject)
        {
            T t;
            T t1;

            extensionProject = null;
            if (this.Adapters != null)
            {
                using (IEnumerator <IProjectAdapter> enumerator = this.Adapters.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        IProjectAdapter current = enumerator.Current;
                        if (!typeof(T).IsAssignableFrom(current.GetType()))
                        {
                            continue;
                        }
                        try
                        {
                            if (current.RequiredTargetFramework == null || project.TargetFramework != null && current.RequiredTargetFramework.Identifier.Equals(project.TargetFramework.Identifier, StringComparison.OrdinalIgnoreCase) && current.RequiredTargetFramework.Profile.Equals(project.TargetFramework.Profile, StringComparison.OrdinalIgnoreCase) && current.RequiredTargetFramework.Version <= project.TargetFramework.Version)
                            {
                                if (extensionProject == null)
                                {
                                    extensionProject = new Microsoft.Expression.Extensibility.Project.Project(project);
                                }
                                if (current.AppliesToProject(extensionProject))
                                {
                                    t = (T)current;
                                    return(t);
                                }
                            }
                        }
                        catch (Exception exception)
                        {
                            this.serviceProvider.MessageLoggingService().WriteLine(exception.Message);
                        }
                    }
                    t1 = default(T);
                    return(t1);
                }
                return(t);
            }
            t1 = default(T);
            return(t1);
        }
Пример #11
0
        private void btnTestConnection_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                X1 x = new X1(ConsoleContext.GetConsoleEMG(), new Guid("5a49b80c-4c34-d189-ca94-a591580f1995"), "Project Connector");
                x.CheckLicense();

                credsControl.SetCredentials();

                Type            type        = Type.GetTypeFromProgID("Microsoft.EnterpriseManagement.ServiceManager.ProjectServer.Adapter.ProjectAdapter");
                object          inst        = Activator.CreateInstance(type);
                IProjectAdapter projAdapter = (IProjectAdapter)inst;

                if (data.IsO365)
                {
                    projAdapter.Connect(data.PwaUrl, credsControl.UserName, PasswordHepler.ConvertSecureStringToString(credsControl.Password));
                }
                else
                {
                    projAdapter.Connect(data.PwaUrl, credsControl.UserName, PasswordHepler.ConvertSecureStringToString(credsControl.Password), credsControl.Domain);
                }
                var success = projAdapter.IsConnected();

                using (new WaitCursor())
                {
                    if (success)
                    {
                        MessageBox.Show(ServiceManagerLocalization.GetStringFromManagementPack("strConnectSuccess"), ServiceManagerLocalization.GetStringFromManagementPack("strConnectorTitle"),
                                        MessageBoxButton.OK, MessageBoxImage.Information);
                        this.IsNextButtonEnabled = true;
                    }
                    else
                    {
                        MessageBox.Show(ServiceManagerLocalization.GetStringFromManagementPack("strConnectFailed"), ServiceManagerLocalization.GetStringFromManagementPack("strConnectorTitle"),
                                        MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                ConsoleContextHelper.Instance.ShowErrorDialog(ex, ex.Message, ConsoleFramework.ConsoleJobExceptionSeverity.Error);
            }
        }
Пример #12
0
 public LaunchAndAttachFlow(BindPendingBreakpointsHandler bindPendingBreakpoints,
                            Func <IDebugEngine2> createDebugEngine,
                            IDebugEventCallback2 debugEventCallback,
                            IDebugSessionContext debugSessionContext,
                            IProjectAdapter projectAdapter, ITargetAdapter targetAdapter,
                            IJobQueue jobQueue, JoinableTaskContext taskContext,
                            ObserveAndNotifyJob.Factory observeAndNotifyJobFactory,
                            LaunchAndAttachJob.Factory launchAndAttachJobFactory)
 {
     _bindPendingBreakpoints = bindPendingBreakpoints;
     _createDebugEngine      = createDebugEngine;
     _debugEventCallback     = debugEventCallback;
     _debugSessionContext    = debugSessionContext;
     _projectAdapter         = projectAdapter;
     _targetAdapter          = targetAdapter;
     _jobQueue    = jobQueue;
     _taskContext = taskContext;
     _observeAndNotifyJobFactory = observeAndNotifyJobFactory;
     _launchAndAttachJobFactory  = launchAndAttachJobFactory;
 }
Пример #13
0
        public async Task <NuGetProject> TryCreateNuGetProjectAsync(IProjectAdapter projectAdapter, ProjectProviderContext context, IProjectRestoreService projectRestoreService, bool forceProjectType)
        {
            var projectSystem = await MSBuildNuGetProjectSystemFactory.CreateMSBuildNuGetProjectSystemAsync(projectAdapter, context.ProjectContext);

            await projectSystem.InitializeAsync();

            var projectServices = new VsMSBuildProjectSystemServices(new MSBuildProjectSystem(projectAdapter, context.ProjectContext), projectAdapter);

            var solutionDirectory = projectAdapter.SolutionDirectory ?? projectAdapter.ProjectDirectory;

            var nuGetSettings = Settings.LoadDefaultSettings(solutionDirectory);

            var folderNuGetProjectFullPath = PackagesFolderPathUtility.GetPackagesFolderPath(solutionDirectory, nuGetSettings);

            var packagesConfigFolderPath = projectAdapter.ProjectDirectory;

            return(new NetFrameworkNuGetProject(projectSystem,
                                                folderNuGetProjectFullPath,
                                                packagesConfigFolderPath,
                                                projectServices));
        }
        public async Task <DependencyGraphSpec> GetOrCreateDependencyGraphSpecAsync(IProjectAdapter projectAdapter, BuildIntegratedNuGetProject project)
        {
            string projectFilePath = projectAdapter.ProjectFilePath;

            if (_projectDgCache.TryGetValue(projectFilePath, out var dg))
            {
                return(dg);
            }

            var projectFileName = Path.GetFileName(projectFilePath);
            var outputPath      = projectAdapter.Project.GetMSBuildProjectExtensionsPath();
            var filePath        = Path.Combine(outputPath, DependencyGraphSpec.GetDGSpecFileName(projectFileName));

            // always restore
            await RestoreAsync(project);

            InitFileWatcher(projectAdapter);

            dg = DependencyGraphSpec.Load(filePath);
            _projectDgCache[projectFilePath] = dg;

            return(dg);
        }
 public WixProjectSystem(IProjectAdapter projectAdapter, INuGetProjectContext projectContext) : base(projectAdapter, projectContext)
 {
 }
Пример #16
0
 //constructor, can pass in a new adapter such as mock adapter
 public HomeController(IProjectAdapter adapter)
 {
     _adapter = adapter;
 }
 public apiProjectDetailsController()
 {
     _adapter = new ProjectAdapter();
 }
 public apiProjectDetailsController(IProjectAdapter a)
 {
     _adapter = a;
 }
 public apiProjectDetailsController()
 {
     _adapter = new ProjectAdapter();
 }
 public VsMSBuildProjectSystemServices(MSBuildProjectSystem vsProjectSystem, IProjectAdapter projectAdapter)
 {
     _vsProjectSystem = vsProjectSystem;
     _projectAdapter  = projectAdapter;
 }
Пример #21
0
 public apiProjectDeleteController(IProjectAdapter a)
 {
     _adapter = a;
 }
 public apiProjectDetailsController(IProjectAdapter a)
 {
     _adapter = a;
 }
Пример #23
0
 public apiProjectDeleteController()
 {
     _adapter = new ProjectAdapter();
 }
 public apiProjectDeleteController()
 {
     _adapter = new ProjectAdapter();
 }
Пример #25
0
 //constructor, initializes _adapter
 public HomeController()
 {
     _adapter = new ProjectAdapter();
 }
        public static async Task <MSBuildProjectSystem> CreateMSBuildNuGetProjectSystemAsync(IProjectAdapter projectAdapter, INuGetProjectContext nuGetProjectContext)
        {
            var projectTypeGuids = await projectAdapter.GetProjectTypeGuidsAsync();

            foreach (var typeGuid in projectTypeGuids)
            {
                if (_factories.TryGetValue(typeGuid, out var func))
                {
                    return(func.Invoke(projectAdapter, nuGetProjectContext));
                }
            }

            return(new MSBuildProjectSystem(projectAdapter, nuGetProjectContext));
        }
 public apiProjectDeleteController(IProjectAdapter a)
 {
     _adapter = a;
 }