ResolveAssemblies ();
ResolveAssemblyFiles ();
+ resolvedFiles = tempResolvedFiles.ToArray ();
alreadyScannedAssemblyNames = new Dictionary<string, string> ();
foreach (PrimaryReference pref in primaryReferences)
ResolveAssemblyFileDependencies (pref.TaskItem, pref.ParentCopyLocal);
- resolvedFiles = tempResolvedFiles.ToArray ();
copyLocalFiles = tempCopyLocalFiles.Values.ToArray ();
satelliteFiles = tempSatelliteFiles.Values.ToArray ();
relatedFiles = tempRelatedFiles.Values.ToArray ();
continue;
ResolvedReference resolved_ref = ResolveDependencyByAssemblyName (
- aname, asm.FullName, parent_copy_local);
+ aname, asm.FullName, parent_copy_local);
- if (resolved_ref != null && !IsFromGacOrTargetFramework (resolved_ref)
- && resolved_ref.FoundInSearchPath != SearchPath.PkgConfig)
+ if (IncludeDependencies (resolved_ref, aname.FullName)) {
+ tempResolvedDepFiles[resolved_ref.AssemblyName.FullName] = resolved_ref.TaskItem;
dependencies.Enqueue (resolved_ref.TaskItem.ItemSpec);
+ }
}
alreadyScannedAssemblyNames.Add (asm.FullName, String.Empty);
}
return;
foreach (string ext in allowedRelatedFileExtensions) {
- string rfile = filename + ext;
+ string rfile = Path.ChangeExtension (filename, ext);
if (File.Exists (rfile)) {
ITaskItem item = new TaskItem (rfile);
SetCopyLocal (item, parent_copy_local);
rr.FoundInSearchPath == SearchPath.TargetFrameworkDirectory;
}
+ bool IncludeDependencies (ResolvedReference rr, string aname)
+ {
+ if (rr == null)
+ return false;
+ if (aname.Equals ("System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"))
+ return true;
+ return !IsFromGacOrTargetFramework (rr) && rr.FoundInSearchPath != SearchPath.PkgConfig;
+ }
+
void LogTaskParameters ()
{
Log.LogMessage (MessageImportance.Low, "TargetFrameworkDirectories:");