Beispiel #1
0
        /// <summary>
        /// Provides functionality to detect which type of the .NET Framework / .NET Core used by the running application.
        /// </summary>
        /// <returns>Detected FrameworkTypes</returns>
        public static FrameworkTypes DetectAppTargetNetType()
        {
            FrameworkTypes frameworkType = FrameworkTypes.Unknown;

            var assembly        = Assembly.GetEntryAssembly();
            var filteredType    = typeof(System.Runtime.Versioning.TargetFrameworkAttribute);
            var targetAttribute = assembly.GetCustomAttribute(filteredType) as System.Runtime.Versioning.TargetFrameworkAttribute;

            if (targetAttribute != null)
            {
                var props         = targetAttribute.FrameworkName.Split(',');
                var frameworkName = props.FirstOrDefault();
                switch (frameworkName)
                {
                case ".NETCoreApp":
                    frameworkType = FrameworkTypes.DotNet;
                    break;

                case ".NETFramework":
                    frameworkType = FrameworkTypes.DotNetFramework;
                    break;
                }
            }
            return(frameworkType);
        }
Beispiel #2
0
        /// <summary>
        /// Updates an application.
        /// </summary>
        /// <param name="appId">Application Id</param>
        /// <param name="frameworkType">FrameworkType (e.g. DETECT)</param>
        /// <param name="repositoryUrl">Repository URL</param>
        /// <returns></returns>
        public async Task <bool> SetApplicationParameters(int appId, FrameworkTypes frameworkType, string repositoryUrl)
        {
            NameValuePairs nvPairs = new NameValuePairs("frameworkType", frameworkType.ToString().ToUpper());

            nvPairs.Add("repositoryUrl", repositoryUrl);

            JsonResponse response = await Post(
                String.Format("applications/{0}/setParameters", appId),
                nvPairs,
                typeof(Application));

            return(response.Success);
        }
        public string GetFrameworks(FrameworkTypes types)
        {
            FrameworkInfo[] frameworks = Project.GetFrameworks(types);
            if (frameworks.Length == 0)
            {
                return(string.Empty);
            }

            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < frameworks.Length; i++)
            {
                if (i > 0)
                {
                    sb.Append(",");
                }
                sb.Append(frameworks [i].Name);
            }

            return(sb.ToString());
        }
 public SupportedFramework(string name, FrameworkTypes type)
 {
     Name = name;
     Type = type;
 }
Beispiel #5
0
        /// <summary>
        /// Gets the list of supported frameworks filtered by the specified
        /// <see cref="FrameworkTypes" /> parameter.
        /// </summary>
        /// <param name="types">A bitwise combination of <see cref="FrameworkTypes" /> values that filter the frameworks to retrieve.</param>
        /// <returns>
        /// An array of type <see cref="FrameworkInfo" /> that contains the
        /// frameworks specified by the <paramref name="types" /> parameter,
        /// sorted on name.
        /// </returns>
        internal FrameworkInfo[] GetFrameworks(FrameworkTypes types)
        {
            ArrayList matches = new ArrayList(Frameworks.Count);

            foreach (FrameworkInfo framework in Frameworks.Values) {
                if ((types & FrameworkTypes.InstallStateMask) != 0) {
                    if ((types & FrameworkTypes.Installed) == 0 && framework.IsValid)
                        continue;
                    if ((types & FrameworkTypes.NotInstalled) == 0 && !framework.IsValid)
                        continue;
                }

                if ((types & FrameworkTypes.DeviceMask) != 0) {
                    switch (framework.ClrType) {
                        case ClrType.Compact:
                            if ((types & FrameworkTypes.Compact) == 0)
                                continue;
                            break;
                        case ClrType.Desktop:
                            if ((types & FrameworkTypes.Desktop) == 0)
                                continue;
                            break;
                        case ClrType.Browser:
                            if ((types & FrameworkTypes.Browser) == 0)
                                continue;
                            break;
                        default:
                            throw new NotSupportedException(string.Format(
                                CultureInfo.InvariantCulture, "CLR type '{0}'"
                                + " is not supported.", framework.ClrType));
                    }
                }

                if ((types & FrameworkTypes.VendorMask) != 0) {
                    switch (framework.Vendor) {
                        case VendorType.Mono:
                            if ((types & FrameworkTypes.Mono) == 0)
                                continue;
                            break;
                        case VendorType.Microsoft:
                            if ((types & FrameworkTypes.MS) == 0)
                                continue;
                            break;
                    }
                }

                matches.Add(framework);
            }

            matches.Sort(FrameworkInfo.NameComparer);

            FrameworkInfo[] frameworks = new FrameworkInfo[matches.Count];
            matches.CopyTo(frameworks);
            return frameworks;
        }
Beispiel #6
0
 internal DeserializerTypes(BuiltInTypes builtIn, FrameworkTypes framework, CesilTypes ourTypes)
 {
     BuiltIn   = builtIn;
     Framework = framework;
     OurTypes  = ourTypes;
 }
        public string GetFrameworks(FrameworkTypes types)
        {
            FrameworkInfo[] frameworks = Project.GetFrameworks(types);
            if (frameworks.Length == 0)
                return string.Empty;

            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < frameworks.Length; i++) {
                if (i > 0)
                    sb.Append (",");
                sb.Append (frameworks [i].Name);
            }

            return sb.ToString();
        }
Beispiel #8
0
        /// <summary>
        ///  Import MultiPart
        /// </summary>
        /// <param name="uri"></param>
        /// <param name="infoFile"></param>
        /// <param name="testInfoFile"></param>
        /// <param name="results"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static async Task <String> ImportMultipart(String uri, String infoFile, String testInfoFile, List <String> results, FrameworkTypes type)
        {
            // Parsing url
            string url = uri + "/import/execution/" + type.ToString() + "/multipart";

            using (var client = new HttpClient())
            {
                // setting multipart
                var formData = new MultipartFormDataContent();
                formData.Add(new StreamContent(new MemoryStream(File.ReadAllBytes(infoFile))), "testInfo", "info-test.json");
                formData.Add(new StreamContent(new MemoryStream(File.ReadAllBytes(testInfoFile))), "info", "info-execution.json");
                formData.Add(new StreamContent(new MemoryStream(File.ReadAllBytes(results[0]))), "results", "FcPropertiesTest.xml");
                var request = new HttpRequestMessage(HttpMethod.Post, url)
                {
                    Content = formData
                };

                // adding header
                request.Headers.Add("accept", "application/json");

                // setting token
                client.DefaultRequestHeaders.Add("Authorization", Authentication.GetToken());

                // Request
                var response = await client.SendAsync(request);

                if (response.IsSuccessStatusCode)
                {
                    return(await response.Content.ReadAsStringAsync());
                }
                else
                {
                    throw new WebException($"The remote server returned unexpcted status code: {response.StatusCode} - {response.ReasonPhrase}.");
                }
            }
        }