public bool IsDotNetCoreSdkInstalled()
 {
     if (DotNetCoreSdk.IsInstalled || MSBuildSdks.Installed)
     {
         return(DotNetCoreSdk.IsSupported(Project.TargetFramework));
     }
     return(false);
 }
 public DotNetCoreProjectExtension()
 {
     try {
         DotNetCoreSdk.EnsureInitialized();
     } catch (Exception ex) {
         LoggingService.LogInternalError("DotNetCoreProjectExtension sdk initialization failed", ex);
     }
 }
        protected override void OnPrepareForEvaluation(MSBuildProject project)
        {
            base.OnPrepareForEvaluation(project);

            if (!HasSdk)
            {
                return;
            }

            sdkPaths = DotNetCoreSdk.FindSdkPaths(dotNetCoreMSBuildProject.Sdk);
        }
Exemplo n.º 4
0
        public override Task <SolutionItem> LoadSolutionItem(ProgressMonitor monitor, SolutionLoadContext ctx, string fileName, MSBuildFileFormat expectedFormat, string typeGuid, string itemGuid)
        {
            return(Task.Run(() => {
                if (CanRead(fileName, typeof(SolutionItem)))
                {
                    DotNetCoreSdk.EnsureInitialized();
                    return MSBuildProjectService.LoadItem(monitor, fileName, MSBuildFileFormat.VS2012, typeGuid, itemGuid, ctx);
                }

                throw new NotSupportedException();
            }));
        }
        public void Show()
        {
            if (IsUnsupportedVersion || IsNetStandard)             //for .net standard we'll show generic message
            {
                Message = DotNetCoreSdk.GetNotSupportedVersionMessage();
            }
            else
            {
                Message     = DotNetCoreSdk.GetNotSupportedVersionMessage(RequiredDotNetCoreVersion.OriginalString);
                downloadUrl = DotNetCoreDownloadUrl.GetDotNetCoreDownloadUrl(RequiredDotNetCoreVersion);
            }

            MessageService.GenericAlert(message);
        }
        protected override void OnPrepareForEvaluation(MSBuildProject project)
        {
            base.OnPrepareForEvaluation(project);

            if (!HasSdk)
            {
                return;
            }

            sdkPaths = DotNetCoreSdk.FindSdkPaths(dotNetCoreMSBuildProject.Sdk);
            if (!sdkPaths.Exist)
            {
                return;
            }

            dotNetCoreMSBuildProject.ReadDefaultCompileTarget(project);
        }
Exemplo n.º 7
0
        public void Prompt()
        {
            var items = new InfoBarItem [] {
                new InfoBarItem(GettextCatalog.GetString("Download .NET Core"), InfoBarItemKind.Button, DownloadButtonClicked, true)
            };

            if (IsUnsupportedVersion || IsNetStandard || RequiredDotNetCoreVersion == null)             //for .net standard we'll show generic message
            {
                Message = DotNetCoreSdk.GetNotSupportedVersionMessage();
            }
            else
            {
                Message     = DotNetCoreSdk.GetNotSupportedVersionMessage(RequiredDotNetCoreVersion.OriginalString);
                downloadUrl = DotNetCoreDownloadUrl.GetDotNetCoreDownloadUrl(RequiredDotNetCoreVersion);
            }

            IdeApp.Workbench.ShowInfoBar(false, new InfoBarOptions(Message)
            {
                Items = items
            });
        }
        protected override void OnItemReady()
        {
            base.OnItemReady();
            FileService.FileChanged += FileService_FileChanged;

            if (!IdeApp.IsInitialized)
            {
                return;
            }

            if (HasSdk && !IsDotNetCoreSdkInstalled())
            {
                var requiredVersion = DotNetCoreVersion.Parse(Project.TargetFramework.Id.Version);
                ShowDotNetCoreNotInstalledDialog(DotNetCoreSdk.GetNotSupportedVersionMessage(requiredVersion.OriginalString), requiredVersion);
            }

            if (Project.ParentSolution == null)
            {
                return;
            }

            if (Project.ParentSolution.ExtendedProperties.Contains(GlobalJsonPathExtendedPropertyName))
            {
                return;
            }

            //detect globaljson
            var globalJsonPath = sdkPaths.LookUpGlobalJson(Project.ParentSolution.BaseDirectory);

            if (globalJsonPath == null)
            {
                return;
            }

            Project.ParentSolution.ExtendedProperties [GlobalJsonPathExtendedPropertyName] = globalJsonPath;
            DetectSDK();
        }