-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switching to current .NET Framework #10
Comments
I've only got VS 2010, so the maximum comfortable framework for me is 4.0 without having to jump through some hurdles (at least that's what google is telling me). The project started in 3.5 about two years ago, so targeting a slightly older framework than the latest 4.0 made sense for distribution at the time. Now it does not and we can comfortably target the latest and greatest. Regardless of new features or us using them, I would go to 4.5.1 just so the release sets the initial precedent and requirement of 4.5.1 minimum. As it stands I think we can move to 4.0, but I know their were changes from 3.5 to 4.0 in regards to security in .net, so the appdomain that sandboxes plugins would potentially break if we just changed the target now. I'll have a look at this tomorrow. If I some how fell over a legitimate copy of VS 2013 I would move to 4.5.1, but this can be a very expensive hobby for me when I don't do any paying work in .NET :) |
I've moved everything on to 4.0, which did require some changes in how we handled the leases on the MarshalByRefObject. We would usually override MarshalByRefObject.InitializeLifetimeService and simply return null so the proxy never expires, but given 4.0's changes in security the MarshalByRefObject object demands full permissions to be able to override this method or, do anything really. Same with ILease, so from what I could see you pretty much can't manage the proxy from the remote end like we used to. Since we don't want to grant plugins full permissions we now renew the leases ourselves every minute. This method gets us to 4.0, with at least what I've read and understand on 4.0 security changes still remains secure. As I read up on this more in the coming weeks there may be additional changes. All tests pass and the plugins are functional. I'm running a test build locally for a couple hours to profile memory and performance just to make sure I have not inadvertently introduced something worse. Expect a commit soonish. Going from 4.0 to 4.5 I think will just be changing the target framework. If I can get VS 2013 then we can go to that. I don't have much interest in changing working code to a new version of working code though. Given this projects time line, I'd rather this project had something out there being used than being perfect. The outstanding issues we have and features still to be implemented will take precedence. |
Includes changes to adapt to security changes between 3.5 and 4.0+
Ever thought about moving to the current framework 4.5.1 or perhaps 4.5 to have a better async support?
The text was updated successfully, but these errors were encountered: