Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
From Microsoft.Common.targets:
<!-- The SearchPaths property is set to find assemblies in the following order: (1) Files from current project - indicated by {CandidateAssemblyFiles} (2) $(ReferencePath) - the reference path property, which comes from the .USER file. (3) The hintpath from the referenced item itself, indicated by {HintPathFromItem}. (4) The directory of MSBuild's "target" runtime from GetFrameworkPath. The "target" runtime folder is the folder of the runtime that MSBuild is a part of. (5) Registered assembly folders, indicated by {Registry:*,*,*} (6) Legacy registered assembly folders, indicated by {AssemblyFolders} (7) Resolve to the GAC. (8) Treat the reference's Include as if it were a real file name. (9) Look in the application's output folder (like bin\debug) -->
Not all of these steps are suitable for NPanday, and it always includes the Maven repository as the first location it searches. Currently, only (3) and (7) from the above are implemented.
When a dependency hasn't yet been loaded it is often located in the GAC, but these frequently differ in version from the reference assemblies distributed with most SDKs.
Adding (4) and (5) would make this more reliable, and give users a clearer path to load into their artifact repository.