internal ProjectContext(
     GlobalSettings globalSettings,
     ProjectDescription rootProject,
     LibraryDescription platformLibrary,
     NuGetFramework targetFramework,
     bool isPortable,
     string runtimeIdentifier,
     string packagesDirectory,
     LibraryManager libraryManager,
     LockFile lockfile,
     List <DiagnosticMessage> diagnostics)
 {
     Identity          = new ProjectContextIdentity(rootProject?.Path, targetFramework);
     GlobalSettings    = globalSettings;
     RootProject       = rootProject;
     PlatformLibrary   = platformLibrary;
     TargetFramework   = targetFramework;
     RuntimeIdentifier = runtimeIdentifier;
     PackagesDirectory = packagesDirectory;
     LibraryManager    = libraryManager;
     LockFile          = lockfile;
     IsPortable        = isPortable;
     Diagnostics       = diagnostics;
 }
 public bool Equals(ProjectContextIdentity other)
 {
     return(string.Equals(Path, other.Path) && Equals(TargetFramework, other.TargetFramework));
 }