Commit graph

10 commits

Author SHA1 Message Date
Pavel Krymets
eb32a40ea2 Deduplicate libraries 2016-05-03 09:54:50 -07:00
David Fowler
90bc89ed67 Fix placeholder resolution logic 2016-05-03 02:00:12 -07:00
Andrew Stanton-Nurse
ef0ca39da1 Memory usage improvements in build (#2626)
* Use a WorkspaceContext in dotnet-build to cache project data across
multiple compilations in a single build action
* Dramatically reduce string and object duplication by introducing a
"Symbol Table" that shares instances of NuGetVersion, NuGetFramework,
VersionRange and string across multiple lock-file parses

Test Results:
* Testing was done by compiling Microsoft.AspNetCore.Mvc (and it's
dependencies) and taking memory snapshots after each compilation in
dotMemory
* We used to allocate ~3MB and deallocate ~2.5MB on EACH compilation in
a single build action. This has been reduced to ~120KB
allocated/deallocated
* After introducing WorkspaceContext, total memory usage spiked from 6MB
across the whole build action to about 13MB, introducing the symbol
table dropped it back to about 5-6MB.
2016-04-22 15:01:56 -07:00
Pavel Krymets
c8fb6c26c3 Fixed netcore50 package based frameworks (#2630) 2016-04-21 21:47:20 -07:00
David Fowler
4af795b9e8 Fix duplicate dependency issue (#2597)
* Fix duplicate dependency issue
If a package has the same name as a framework assembly in the dependency
graph, we usually replace it with the framework assembly if the package
provides no assets. If the framework assembly wasn't resolved, it would
skip this logic and end up adding dupes to the list, which blows up later on.
This is a tactical fix to solve the issue, we need to do some more thinking
to determine how we want to resolve conflicts between framework assemblies,
packages and dlls with the same name.
2016-04-21 09:05:55 -07:00
Bryan Thornbury
83d78129db t Convert Test Assets to Microsoft.NETCore.App
fix dotnet-compile-fsc failures

fix test failures
2016-04-19 11:08:27 -07:00
Troy Dai
6a678a0d05 Add unit test for duplicate system references 2016-04-08 14:15:17 -07:00
Eric Erhardt
6468b14e1d Move to CoreFX build rc2-23901
Update .exe's project.json Target Framework from dnxcore50 to netstandardapp1.5.
Update .dll's project.json Target Framework from dnxcore50 to netstandard1.3.

Adding workaround for DataContractSerialization to src\dotnet\project.json to fix crossgen issue.
Build 23901 has a dependency issue that doesn't allow the runtime.any.System.Private.DataContractSerialization
package to be restored. When we move to a new build of CoreFX we should take this workaround out.
2016-03-03 16:41:55 -06:00
Troy Dai
268dd603cc Ensure Microsoft.CSharp reference is not duplicated 2016-02-26 15:06:39 -08:00
David Fowler
dec4a0627f Fix asset copy on publish when lock file instance is shared
- Don't mutate the library target when making a package description.

#1528
2016-02-23 02:34:56 -08:00