Giter Club home page Giter Club logo

Comments (11)

danmoseley avatar danmoseley commented on June 27, 2024 1

@AlekseyMartynov you're quite right - that readme needs an update. What we did do is only remove members where we were forced to to snip dependencies on whole technologies that we did not want to drag into the standard. We did not remove members for other reasons, such as where we know a platform will not full implement certain members (example: AppDomain.CreateDomain is not going to be implemented on .NET Core as it has chosen to not allow creating new app domains). Of course, we hope and believe that platforms implementing the standard rarely do not fully implement members in the standard. Such cases would need to be documented. When writing code targeting the standard, it is still important to do some testing on all the platforms that you want it to run on, to be sure.

from standard.

stephentoub avatar stephentoub commented on June 27, 2024

(1) is very intrusive on existing code, and it makes it impossible to write certain kinds of remotable objects in a portable library, the vast majority of which only need to derive from MBRO.

(2) CreateObjRef is almost never overridden by remotable objects, so it doesn't seem that bad to not have it be part of the standard. But this is also a case where, if you did need to override it, there'd be no way to do so without it being part of the standard, right? We talk about reflection in general being a workaround when we don't include members, but that wouldn't apply here.

(3) Other than cleanliness, this seems to have the fewest downsides: the standard will have some extra interfaces in it that most implementations simply won't care about.

We shouldn't do (1). I'd be ok with (2) or (3). (3) seems like it's the least risky.

from standard.

KrzysztofCwalina avatar KrzysztofCwalina commented on June 27, 2024

Why don't we leave MarshalByRef as-is and simply not implement it on other netstandard types?

from standard.

weshaggard avatar weshaggard commented on June 27, 2024

@KrzysztofCwalina so your vote is for (3)? I will put a PR together with what that looks like and we can review.

from standard.

KrzysztofCwalina avatar KrzysztofCwalina commented on June 27, 2024

Sorry, I meant: ship it OOB (not in netstandard) MarshalByRef (and dependencies) without any changes. If existing code uses the APIs, it will be able to compile without any issues after referencing the OOB component.

from standard.

weshaggard avatar weshaggard commented on June 27, 2024

Shipping it as OOB would change the base types for a lot of types in the standard which I would like to avoid.

I've put together a PR (#13) that shows the full closure of option (3) and it doesn't look too bad.

from standard.

weshaggard avatar weshaggard commented on June 27, 2024

The closer isn't bad for (3) so we chose that option with PR #13.

from standard.

weshaggard avatar weshaggard commented on June 27, 2024

While doing this work for .NET Core there were a number of questions about this so I'm reopening to reconsider options.

After chatting with @jkotas he feels we should go with option (2).

from standard.

weshaggard avatar weshaggard commented on June 27, 2024

Decided to go with option (2) 80799d9.

from standard.

AlekseyMartynov avatar AlekseyMartynov commented on June 27, 2024

In README, I read in "Requirements":

We’ll not necessarily bring all the types that .NET Framework has, but that we’ll bring types in their entirety without subsetting members.

It seems to me that the decision taken in this issue violates the requirement, doesn't it?
Is it a corner case handled in a special way, or should we be ready to find arbitrary class members missing from .NET Standard 2?

P.S. I don't need MarshalByRefObject or its members. Asking out of curiosity, to better understand how the list of APIs is composed.

from standard.

bluecurveteam avatar bluecurveteam commented on June 27, 2024

Hummm for me the real question is can we create another app domain in .net core ? I have an application that use app domain isolation + remoting to communicate with plugin (such as System.AddIn does) what about those king of applications with .net core ?

from standard.

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.