Coder Social home page Coder Social logo

Comments (2)

phogue avatar phogue commented on July 30, 2024

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 :)

from potato.

phogue avatar phogue commented on July 30, 2024

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.

from potato.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.