Ignore framework assemblies when compiling for package based frameworks.

Fixes #1054
This commit is contained in:
Pranav K 2016-01-26 17:36:42 -08:00
parent 9e8f101ae3
commit ec73b1de23

View file

@ -38,7 +38,7 @@ namespace Microsoft.DotNet.ProjectModel.Resolution
!containsAssembly;
var dependencies = new List<LibraryRange>(targetLibrary.Dependencies.Count + targetLibrary.FrameworkAssemblies.Count);
PopulateDependencies(dependencies, targetLibrary);
PopulateDependencies(dependencies, targetLibrary, targetFramework);
var path = _packagePathResolver.GetInstallPath(package.Name, package.Version);
@ -118,7 +118,10 @@ namespace Microsoft.DotNet.ProjectModel.Resolution
}
}
private void PopulateDependencies(List<LibraryRange> dependencies, LockFileTargetLibrary targetLibrary)
private void PopulateDependencies(
List<LibraryRange> dependencies,
LockFileTargetLibrary targetLibrary,
NuGetFramework targetFramework)
{
foreach (var dependency in targetLibrary.Dependencies)
{
@ -129,12 +132,16 @@ namespace Microsoft.DotNet.ProjectModel.Resolution
LibraryDependencyType.Default));
}
foreach (var frameworkAssembly in targetLibrary.FrameworkAssemblies)
if (!targetFramework.IsPackageBased)
{
dependencies.Add(new LibraryRange(
frameworkAssembly,
LibraryType.ReferenceAssembly,
LibraryDependencyType.Default));
// Only add framework assemblies for non-package based frameworks.
foreach (var frameworkAssembly in targetLibrary.FrameworkAssemblies)
{
dependencies.Add(new LibraryRange(
frameworkAssembly,
LibraryType.ReferenceAssembly,
LibraryDependencyType.Default));
}
}
}