{"action":"created","issue":{"url":"https://api.github.com/repos/nsubstitute/NSubstitute/issues/344","repository_url":"https://api.github.com/repos/nsubstitute/NSubstitute","labels_url":"https://api.github.com/repos/nsubstitute/NSubstitute/issues/344/labels{/name}","comments_url":"https://api.github.com/repos/nsubstitute/NSubstitute/issues/344/comments","events_url":"https://api.github.com/repos/nsubstitute/NSubstitute/issues/344/events","html_url":"https://github.com/nsubstitute/NSubstitute/pull/344","id":278530222,"number":344,"title":"Add back .NET 4.0 Build","user":{"login":"ChrisMaddock","id":4837132,"avatar_url":"https://avatars3.githubusercontent.com/u/4837132?v=4","gravatar_id":"","url":"https://api.github.com/users/ChrisMaddock","html_url":"https://github.com/ChrisMaddock","followers_url":"https://api.github.com/users/ChrisMaddock/followers","following_url":"https://api.github.com/users/ChrisMaddock/following{/other_user}","gists_url":"https://api.github.com/users/ChrisMaddock/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisMaddock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisMaddock/subscriptions","organizations_url":"https://api.github.com/users/ChrisMaddock/orgs","repos_url":"https://api.github.com/users/ChrisMaddock/repos","events_url":"https://api.github.com/users/ChrisMaddock/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisMaddock/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2017-12-01T16:57:54Z","updated_at":"2017-12-29T15:48:59Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/nsubstitute/NSubstitute/pulls/344","html_url":"https://github.com/nsubstitute/NSubstitute/pull/344","diff_url":"https://github.com/nsubstitute/NSubstitute/pull/344.diff","patch_url":"https://github.com/nsubstitute/NSubstitute/pull/344.patch"},"body":"Here's a first attempt at adding back the .NET 4.0 target. I don't think the changes required were too major.\r\n\r\nThe main issues:\r\n- No `ValueTask`: These parts of the API (and tests) were just excluded with pre-compilation symbols.\r\n- No `GetTypeInfo`: Added a dummy extension method to reduce precompilation symbols, and get the same results.\r\n- Async API changes: Mostly minor. Two tests have been excluded which should work with Microsoft.Bcl.Async, but I could not get that package working in the new csproj format for the life of me! I think I was hitting https://github.com/Microsoft/msbuild/issues/1310 - but none of the solutions there seemed to work. Open to any ideas here! (cc @jnm2 - your name popped up on that issue! If you have any ideas of how to get Microsoft.Bcl.Async working for the .NET 4.0 build of the test project here - I'd love to hear them!)\r\n\r\nLook forward to hearing what you think. 😄 (Fixes #341)"},"comment":{"url":"https://api.github.com/repos/nsubstitute/NSubstitute/issues/comments/354462311","html_url":"https://github.com/nsubstitute/NSubstitute/pull/344#issuecomment-354462311","issue_url":"https://api.github.com/repos/nsubstitute/NSubstitute/issues/344","id":354462311,"user":{"login":"ChrisMaddock","id":4837132,"avatar_url":"https://avatars3.githubusercontent.com/u/4837132?v=4","gravatar_id":"","url":"https://api.github.com/users/ChrisMaddock","html_url":"https://github.com/ChrisMaddock","followers_url":"https://api.github.com/users/ChrisMaddock/followers","following_url":"https://api.github.com/users/ChrisMaddock/following{/other_user}","gists_url":"https://api.github.com/users/ChrisMaddock/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisMaddock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisMaddock/subscriptions","organizations_url":"https://api.github.com/users/ChrisMaddock/orgs","repos_url":"https://api.github.com/users/ChrisMaddock/repos","events_url":"https://api.github.com/users/ChrisMaddock/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisMaddock/received_events","type":"User","site_admin":false},"created_at":"2017-12-29T15:48:59Z","updated_at":"2017-12-29T15:48:59Z","author_association":"CONTRIBUTOR","body":"Ah - I guess becuase NUnit calls MSBuild directory - whereas NSubstitue does `dotnet build`. Rather than rewriting the build script to build NET40 differently - I'm becoming slightly tempted to close this PR instead. It's another case of old and new not playing together nicely. 😞 \r\n\r\nWhen I started this, I was expecting it to be fairly trivial. Currently, I'm wary I could be adding too much overhead to support 'old' platforms. From our point of view, we could just pin to NSubstiute 2.x, and we will be upgrading .NET versions at _some point_ in the future. \r\n\r\n@dtchepak - what do you think? The other option is to merge the .NET 4.0 build with just the two tests commented out which use `await` - but I'm aware this PR is already adding a bit of overhead, for probably a limited user base."}}
{"actor":{"display_login":"ChrisMaddock"}}