forked from SuaveIO/suave
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build coreclr version using nuget -- because we need project.json.loc…
…k for deployment
- Loading branch information
1 parent
f39c4f2
commit fdc96fa
Showing
6 changed files
with
87 additions
and
134 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{ | ||
"dependencies": { | ||
"Microsoft.NETCore.Platforms": "1.0.1-beta-23506", | ||
"System.Collections.Concurrent": "4.0.11-beta-23506", | ||
"System.Console": "4.0.0-beta-23506", | ||
"System.Diagnostics.Debug": "4.0.11-beta-23506", | ||
"System.Diagnostics.Process": "4.1.0-beta-23506", | ||
"System.Diagnostics.TraceSource": "4.0.0-beta-23506", | ||
"System.Net.Http": "4.0.1-beta-23506", | ||
"System.Net.Sockets": "4.1.0-beta-23506", | ||
"System.Net.Primitives": "4.0.11-beta-23506", | ||
"System.Net.Requests": "4.0.11-beta-23506", | ||
"System.Net.WebHeaderCollection": "4.0.1-beta-23506", | ||
"System.IO.Compression": "4.1.0-beta-23506", | ||
"System.IO.FileSystem": "4.0.1-beta-23506", | ||
"System.Reflection": "4.1.0-beta-23506", | ||
"System.Reflection.TypeExtensions": "4.1.0-beta-23506", | ||
"System.Runtime.Serialization.Json": "4.0.1-beta-23506", | ||
"System.Security.Claims": "4.0.1-beta-23506", | ||
"System.Security.Cryptography.Algorithms": "4.0.0-beta-23506", | ||
"System.Security.Cryptography.Primitives": "4.0.0-beta-23506", | ||
"System.Security.Cryptography.X509Certificates": "4.0.0-beta-23506", | ||
"System.Threading.Thread": "4.0.0-beta-23506", | ||
"System.Text.Encoding": "4.0.11-beta-23506", | ||
"System.Text.RegularExpressions": "4.0.11-beta-23506" | ||
}, | ||
"runtimes": { | ||
"win7": { }, | ||
"linux": { }, | ||
}, | ||
"frameworks": { | ||
"dnxcore50": { } | ||
} | ||
} | ||
" |
Binary file not shown.
fdc96fa
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do you need project.json.lock? there are other options: http://blog.ctaggart.com/2015/10/minimal-coreclr-console-app.html
btw: paket+dnx discussion is at fsprojects/Paket#736
/cc @tpetricek
fdc96fa
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I think this does not really need
project.json
. AFAIKproject.json
is only required when you are building ASP.NET vNext applications.All we need here is to somehow instruct MSBuild to reference the right versions of the packages rather than using the "normal NET" versions.
As you can see in the bits deleted from
paket.dependencies
, I tried to do exactly that in my first attempt :-) but I just could not get MSBuild to respect the references.@forki If you had time to mess with this, I think what's needed is to get a version exactly before this commit - then you can build it using MSBuild and you'll see that the
-r:
parameters passed to the compiler are pointing to normal .NET rather than the DLLs explicitly specified by the<Reference ...>
tags. If we can figure out why that's happening, then I'm pretty sure we don't needproject.json
here.fdc96fa
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assembly resolution follows a pattern that is defined in the Microsoft.Common.targets file that is found in the directory C:\Windows\Microsoft.NET\Framework\v4.0.30319 . Here is the relevant snippet from the file:
This suggests that the assemblies are either being resolved before needing the hint paths, or that the hint paths are incorrect and the normal .NET assemblies are being resolved using the other rules.
This old post from Jomo Fisher maybe of help (the code will need to be adapted to use the correct paths for Microsoft.Build*.dll and correct assembly resolution rules):
http://blogs.msdn.com/b/jomo_fisher/archive/2008/05/22/programmatically-resolve-assembly-name-to-full-path-the-same-way-msbuild-does.aspx
fdc96fa
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
related: dotnet/fsharp#688 (comment)
fdc96fa
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stuarthillary Thank you! This is perhaps the first time someone told me something about MS Build and I actually understood it :-)