internal static IEnumerable <ITaskItem> GetFrameworkAssembliesToTreatAsUserAssemblies(ITaskItem[] resolvedAssemblies)
        {
            var ret = new List <ITaskItem> ();

            foreach (ITaskItem item in resolvedAssemblies)
            {
                if (FrameworkAssembliesToTreatAsUserAssemblies.Contains(Path.GetFileName(item.ItemSpec)))
                {
                    ret.Add(item);
                }
            }

            return(ret);
        }
        public static bool IsFrameworkAssembly(string assembly, bool checkSdkPath)
        {
            if (IsSharedRuntimeAssembly(assembly))
            {
#if MSBUILD
                bool treatAsUser = FrameworkAssembliesToTreatAsUserAssemblies.Contains(Path.GetFileName(assembly));
                // Framework assemblies don't come from outside the SDK Path;
                // user assemblies do
                if (checkSdkPath && treatAsUser && TargetFrameworkDirectories != null)
                {
                    return(ExistsInFrameworkPath(assembly));
                }
#endif
                return(true);
            }
            return(TargetFrameworkDirectories == null || !checkSdkPath ? false : ExistsInFrameworkPath(assembly));
        }