/// <summary> /// Resolve a reference to a specific file name. /// </summary> /// <param name="assemblyName">The assemblyname of the reference.</param> /// <param name="rawFileNameCandidate">The reference's 'include' treated as a raw file name.</param> /// <param name="isPrimaryProjectReference">Whether or not this reference was directly from the project file (and therefore not a dependency)</param> /// <param name="wantSpecificVersion">Whether an exact version match is requested.</param> /// <param name="executableExtensions">Allowed executable extensions.</param> /// <param name="hintPath">The item's hintpath value.</param> /// <param name="assemblyFolderKey">Like "hklm\Vendor RegKey" as provided to a reference by the <AssemblyFolderKey> on the reference in the project.</param> /// <param name="assembliesConsideredAndRejected">Receives the list of locations that this function tried to find the assembly. May be "null".</param> /// <param name="foundPath">The path where the file was found.</param> /// <param name="userRequestedSpecificFile">Whether or not the user wanted a specific file (for example, HintPath is a request for a specific file)</param> /// <returns>True if the file was resolved.</returns> public override bool Resolve ( AssemblyNameExtension assemblyName, string sdkName, string rawFileNameCandidate, bool isPrimaryProjectReference, bool wantSpecificVersion, string[] executableExtensions, string hintPath, string assemblyFolderKey, ArrayList assembliesConsideredAndRejected, out string foundPath, out bool userRequestedSpecificFile ) { foundPath = null; userRequestedSpecificFile = false; #if FEATURE_WIN32_REGISTRY if (assemblyName != null) { // {AssemblyFolders} was passed in. ICollection assemblyFolders = AssemblyFolder.GetAssemblyFolders(assemblyFolderKey); if (assemblyFolders != null) { foreach (string assemblyFolder in assemblyFolders) { string resolvedPath = ResolveFromDirectory(assemblyName, isPrimaryProjectReference, wantSpecificVersion, executableExtensions, assemblyFolder, assembliesConsideredAndRejected); if (resolvedPath != null) { foundPath = resolvedPath; return(true); } } } } #endif return(false); }
public override bool Resolve(AssemblyNameExtension assemblyName, string rawFileNameCandidate, bool isPrimaryProjectReference, bool wantSpecificVersion, string[] executableExtensions, string hintPath, string assemblyFolderKey, ArrayList assembliesConsideredAndRejected, out string foundPath, out bool userRequestedSpecificFile) { foundPath = null; userRequestedSpecificFile = false; if (assemblyName != null) { ICollection assemblyFolders = AssemblyFolder.GetAssemblyFolders(assemblyFolderKey); if (assemblyFolders != null) { foreach (string str in assemblyFolders) { string str2 = base.ResolveFromDirectory(assemblyName, isPrimaryProjectReference, wantSpecificVersion, executableExtensions, str, assembliesConsideredAndRejected); if (str2 != null) { foundPath = str2; return(true); } } } } return(false); }