public static IDictionary <ProjectPoco, IEnumerable <string> > ComposeProjectReferenceErrors(
     IDictionary <ProjectPoco, IEnumerable <ReferenceMetadataBase> > referenceMetadatas,
     IProbabilityMatchEngine <DllMetadata> wrongReferenceMatcher)
 {
     return(referenceMetadatas.Transform(x => x.OfType <DllMetadata>())
            .Transform(
                x =>
                x.FindBestMatch <DllMetadata, WrongReferencePropabilityMetadata>(wrongReferenceMatcher, 0d))
            .Transform(
                x => x.Select(
                    y =>
                    $"found possible misreference: {y.Reference} (solution contains project with the same target name: {y.SuspectedProject.Name} / {y.SuspectedProject.TargetName})")));
 }
예제 #2
0
 public static IEnumerable <TV> FindBestMatch <T, TV>(this IEnumerable <T> enumerabe, IProbabilityMatchEngine <T> probabilityMatchEngine, double threshold)
     where TV : ProbabilityMatchMetadata <T>
 {
     return(enumerabe.Select(probabilityMatchEngine.FindBestMatch)
            .OfType <TV>()
            .Where(x => x.Probability > threshold));
 }
예제 #3
0
 public static IEnumerable <ProbabilityMatchMetadata <T> > FindBestMatch <T>(this IEnumerable <T> enumerabe, IProbabilityMatchEngine <T> probabilityMatchEngine)
 {
     return(enumerabe.Select(probabilityMatchEngine.FindBestMatch));
 }