Beispiel #1
0
        public async Task <LineEvaluationResult> HandleAsync(Guid lineId, string text, IReplLogger logger)
        {
            string package    = text.Substring(CommandPrefix.Length).Trim('"');
            var    assemblies = (await nugetInstaller.Install(package, logger)).ToArray();

            if (assemblies.Any())
            {
                await scriptEvaluator.AddReferences(assemblies);

                workspaceManager.CreateOrUpdateSubmission(lineId, assemblyReferences: assemblies);
            }
            return(LineEvaluationResult.NoOutput);
        }
Beispiel #2
0
        public async Task Handle(InstallOptions options)
        {
            foreach (var fullName in options.PackageFullNames)
            {
                var path    = fullName;
                var appInfo = AppInfo.FromPath(path);

                CheckExistingInstallation(appInfo);

                Log.Information("Installing application {FullAppName}.", appInfo.ToString());
                await _nugetPackageInstaller.Install(appInfo);

                Log.Information("Application {FullAppName} successfully installed.", appInfo.ToString());

                var binPath = _appsManager.GetExecutablePath(appInfo);

                _systemServiceManager.Create(appInfo, binPath);
            }
        }