{"action":"created","issue":{"url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/617","repository_url":"https://api.github.com/repos/FakeItEasy/FakeItEasy","labels_url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/617/labels{/name}","comments_url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/617/comments","events_url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/617/events","html_url":"https://github.com/FakeItEasy/FakeItEasy/pull/617","id":136518140,"number":617,"title":"[WIP] Porting to .Net Core","user":{"login":"jeremymeng","id":7583839,"avatar_url":"https://avatars.githubusercontent.com/u/7583839?v=3","gravatar_id":"","url":"https://api.github.com/users/jeremymeng","html_url":"https://github.com/jeremymeng","followers_url":"https://api.github.com/users/jeremymeng/followers","following_url":"https://api.github.com/users/jeremymeng/following{/other_user}","gists_url":"https://api.github.com/users/jeremymeng/gists{/gist_id}","starred_url":"https://api.github.com/users/jeremymeng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeremymeng/subscriptions","organizations_url":"https://api.github.com/users/jeremymeng/orgs","repos_url":"https://api.github.com/users/jeremymeng/repos","events_url":"https://api.github.com/users/jeremymeng/events{/privacy}","received_events_url":"https://api.github.com/users/jeremymeng/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":35,"created_at":"2016-02-25T21:31:23Z","updated_at":"2016-07-06T10:10:27Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/pulls/617","html_url":"https://github.com/FakeItEasy/FakeItEasy/pull/617","diff_url":"https://github.com/FakeItEasy/FakeItEasy/pull/617.diff","patch_url":"https://github.com/FakeItEasy/FakeItEasy/pull/617.patch"},"body":"This is for #531.  \r\n\r\n**Update** 06/28/2016:\r\n\r\n1069 tests running on .NET Core, with 1 failure (same issue as https://github.com/castleproject/Core/issues/184)\r\n\r\n**Update** 06/22/2016:\r\n\r\n1057 unit tests passing now on .NET Core comparing to 1088 on .NET framework v4.5.  Disabled on .NET Core: 31 tests.\r\n\r\n**Update** 06/21/2016:\r\n\r\nAdded a unit test project that targets netcoreapp1.0.  Had to disable a bunch of tests ~~(145)~~ though, mostly due to missing of \r\n1. binary serialization\r\n2. ~~ReflectedType (a lot of parameterized tests since `ReflectedMethodData` cannot be used on .NET Core)~~\r\n3. ~~CurrentCultrue/CurrentUICultrue setter~~\r\n\r\n**Update** 05/10/2016:\r\nReplace binary serialization with Json serialization.\r\n\r\n**Update** 04/12/2016:\r\nThe netcore project now builds fine and my Dnx test project only failed due to the lack of Binary serialization (currently `NotYetImplementedException is thrown for .NET Core).\r\n\r\n ~~still has one build error~~ and I want to start a discussion about a couple of things, as well as getting feedback.\r\n\r\n- [X] `MethodInfo.ReflectedType` isn't supported yet.  This is the remaining build error.  It is coming back (https://github.com/dotnet/corefx/issues/5381), but in RTM.  In the meantime, we need something.  Options are: wrapping the MethodInfo with the original type, or passing the original type through the chain of method calls.   NUnit did the former in their port (https://github.com/nunit/nunit/pull/797).\r\n\r\n    **Edit:** It looks that the MethodInfo wrapper is only needed for one file so I made the change.  Once the ReflectedType becomes available in RTM [this change](https://github.com/FakeItEasy/FakeItEasy/pull/617/commits/9eeed21accec0e4c6cde27bdcae295e82e05972f) can be reverted.\r\n\r\n- [X] Replacement of `BinaryFormatter`?  ~~I've briefly tried `DataContractSerializer` but it seems unable to serialize `MethodInfo`.~~\r\n- [X] is the usage of `LibraryManager` achieving the same goal as desktop version?\r\n\r\n    **Edit:** I've changed to use `LibraryManager.GetLibraries()`.  Tests passed.  However it returns the transitive closure of the references, which is much more than number of loaded assemblies form `AppDomain.GetAssemblies()`\r\n\r\n- [ ] usage of custom `AssemblyLoadContext` needs review.\r\n\r\nOnce the netcore project builds, things to do include, but not lmited to \r\n\r\n- [X] Add a dnx test project that exercises the .Net Core code paths.\r\n\r\n    **Edit:** added in a branch of my fork to test the porting changes.  As there is a work item to migrate tests to xUnit.  It make little sense to merge this back.\r\n- [X] Add signing key to `project.json`.\r\n\r\n@adamralph \r\n\r\n/cc @thecodejunkie @jchannon\r\n\r\n<!--connects to #531-->"},"comment":{"url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/comments/230732311","html_url":"https://github.com/FakeItEasy/FakeItEasy/pull/617#issuecomment-230732311","issue_url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/617","id":230732311,"user":{"login":"adamralph","id":677704,"avatar_url":"https://avatars.githubusercontent.com/u/677704?v=3","gravatar_id":"","url":"https://api.github.com/users/adamralph","html_url":"https://github.com/adamralph","followers_url":"https://api.github.com/users/adamralph/followers","following_url":"https://api.github.com/users/adamralph/following{/other_user}","gists_url":"https://api.github.com/users/adamralph/gists{/gist_id}","starred_url":"https://api.github.com/users/adamralph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamralph/subscriptions","organizations_url":"https://api.github.com/users/adamralph/orgs","repos_url":"https://api.github.com/users/adamralph/repos","events_url":"https://api.github.com/users/adamralph/events{/privacy}","received_events_url":"https://api.github.com/users/adamralph/received_events","type":"User","site_admin":false},"created_at":"2016-07-06T10:10:27Z","updated_at":"2016-07-06T10:10:27Z","body":"> I will looking into rebasing onto your netcore branch if I have more changes to make.\r\n\r\nAs I understand it, @blairconrad has kept that branch completely up to date with yours, so you should be able to `reset` your branch there and carry on working. If you rebase on top of our master each time, instead of merging, then we should be able to accept your PR as is, rather than re-crafting the commits ourselves."}}
{"actor":{"display_login":"adamralph"}}