Immo Landwerth

Back to Profile: terrajobst


  • Windows ​Compatibili​ty Pack for .NET Core

    Why did't Microsoft just include this as part of .Net core?

    I've explained this in the documentation:

    This package is a logical extension of .NET Standard 2.0 that significantly increases API set and existing code compiles with almost no modifications. But in order to keep the promise of .NET Standard ("it is the set of APIs that all .NET implementations provide"), this didn't include technologies that can't work across all platforms, such as registry, Windows Management Instrumentation (WMI), or reflection emit APIs.

    The Windows Compatibility Pack sits on top of .NET Standard and provides access to technologies that are Windows only. It's especially useful for customers that want to move to .NET Core but plan to stay on Windows as a first step. In that scenario, not being able to use Windows-only technologies is only a migration hurdle with zero architectural benefits.

    Regarding this question:

    Why hasn't Microsoft started build some kind of cross platform abstraction api for common tasks?

    You mean like a set of APIs that cover basic tasks like reading files, accessing the network, or parsing documents? Yeah, that's what .NET Standard is (a)

    Seriously, what APIs would like to see being abstracted?

  • Windows ​Compatibili​ty Pack for .NET Core

    @TerraJobst Great! A big concern about PoShCore is compatibility with scripts, DSC resource modules, and DSC configurations written for Windows PoSh 5.1, but this Compatibility Pack might be very important for reducing these fears. Can you share any testing or plans in this regard? Thanks!

    The PowerShell team would be better suited to answer these questions. I suggest you ask here.

  • Windows ​Compatibili​ty Pack for .NET Core

    Can you use this package with a .NET Standard library? In other words, does this enable porting a .NET FW 4.5 library to .NET Standard easier?

    Yes, the package installs into .NET Standard projects as well. See the spec for scenarios.

  • C# 7.2: ​Understandi​ng Span

    @YourMotherInLaw: I see what you did there. But you need to reduce the number of comments you're allocating ;)

    @Alois Kraus:

    I hope I will see these things also light up in the full .NET Framework.

    Span<T> will be available for .NET Framework via a NuGet package. This won't give you all the features that would require adding APIs to existing types.

    Is it possible to target .NET 4.6 and reference some Nuget packages to create Span/Memory based APIs today which will run faster once .NET 4.7.2 arrives?

    Yes, but Span<T> is only available as a preview. I won't ship as a stable before next year.

  • Windows ​Compatibili​ty Pack for .NET Core

    @Jason:Yes, we've been working closely with the PowerShell team on .NET Core. Do you have specific concerns or questions?

  • Getting Started with .NET Standard 2.0 Part 1 with Immo Landwerth

    I wonder where Jon sat ;)

    Hah! He has a strong (tele) presence. He's always around :)


  • Getting Started with .NET Standard 2.0 Part 1 with Immo Landwerth

    Thanks Maria! Normally I don't get accused of being too quiet :)

  • Get started with VS Code using C# and .NET Core on a Mac

    Great video but the papers are highly distracting. Get your office in order! ;)

  • Introduction to .GAME

    Very cool! Keep it going :)

  • What is .NET Standard?

    Am I understanding this right, an Xamarin App will run on windows ( with any needed windows renderers ) on the basis that Xamarin API's are inside .net standard?

    No. Xamarin provides .NET flavors that allow you to run apps on iOS and Android. We don't have any plans to add a UI stack to .NET Standard. UI is a platform specific technology.

    Xamarin Forms is an abstraction over the platform specific UI stacks that allows you to share UIs across different operating systems.

  • What is .NET Standard?

    , raghurana wrote

    I don't fully understand what  "Microsoft.NETCore.Portable.Compatibility" and "NETStandard.Library" are.

    Microsoft.NETCore.Portable.Compatibility is a NuGet package that provides the magic that makes your project compatible with existing Portable Class Libraries (PCL). PCLs were our solution to create class libraries that can be shared across multiple .NET flavors, prior to .NET Standard.

    NETStandard.Library that's the NuGet package that you reference to build a class library targeting .NET Standard 1.x.

  • A Brief Look at the .NET Portability Analyzer

    @dcuccia:Sorry for the delay. I was confused which two of the three questions I should answer (6)

    1. Yes, we're playing around with the idea of provide an analyzer.

    2. That's an interesting suggestion.

    3. Are you asking whether our suggestion engine could be extended to incorporate non-platform libraries? We've talked about this recently and came to the conclusion that it should be possible as our engine used string-based IDs to refer to APIs.

    These are all excellent ideas. I suggest you file issues on GitHub so we can talk about them there in more detail!