Windows 10: Announcing the Windows Compatibility Pack for .NET Core

Discus and support Announcing the Windows Compatibility Pack for .NET Core in Windows 10 News to solve the problem; Porting existing code to .NET Core used to be quite hard because the available API set was very small. In .NET Core 2.0, we already made this much... Discussion in 'Windows 10 News' started by Brink, Nov 16, 2017.

  1. Brink
    Brink New Member

    Announcing the Windows Compatibility Pack for .NET Core


    You might wonder how you’re supposed to know which APIs are Windows-only. The obvious answer would be documentation, but that’s not very convenient. This is one of the reasons why we introduced the API Analyzer tool two weeks ago. It’s a Roslyn-based analyzer that will flag usages of Windows-only APIs when you’re targeting .NET Core and .NET Standard. For the previous sample, this looks as follows:


    Announcing the Windows Compatibility Pack for .NET Core [​IMG]


    You have three options to deal with Windows-only API usages:

    • Remove. Sometimes you might get away with simply deleting the code as you don’t plan to migrate certain features to the .NET Core-based version of your application.
    • Replace. Usually, you’ll want to preserve the general feature so you might have to replace the technology with one that is cross-platform. For example, instead of saving configuration state in the registry, you’d use text-based configuration files you can read from all platforms.
    • Guard. In some cases, you may want to call the Windows-only API when you’re running on Windows and simply do nothing (or call a Linux-specific API) when you’re running on Linux.
    In the previous example, the code is already written in such a way that it provides a default configuration when the setting isn’t found in the registry. So the easiest solution is to guard the call to registry APIs behind a platform check.

    The Windows Compatibility Pack is designed as a metapackage, meaning it doesn’t directly contain any libraries but references other packages. This allows you to quickly bring in all the technologies without having to hunt down various packages. But as your port progresses, you may find it useful to reference individual packages instead. This allows you to remove dependencies and ensure newly written code in that project doesn’t take a dependency on it again.

    Summary

    When you port existing code from the .NET Framework to .NET Core, install the new Windows Compatibility Pack. It provides access to an additional 20,000 APIs, compared to what is available in .NET Core. This includes drawing, EventLog, WMI, Performance Counters, and Windows Services.

    If you plan to make your code cross-platform, use the new API Analyzer to ensure you don’t accidentally depend on Windows-only APIs.

    But remember that the .NET Framework is still the best choice for building desktop applications as well as Web Form-based web applications. If you’re happy on the .NET Framework, there is also no reason to port to .NET Core.

    Let us know what you think!

    [/quote]
    Source: Announcing the Windows Compatibility Pack for .NET Core | .NET Blog
     
    Brink, Nov 16, 2017
    #1
  2. Superfly Win User

    Very cool this... *Party So the target determines Intellisense

    What I don't get in the code snippit is that "key" is nullable yet it errors on the method call...

    Edit: OIC the error is in the line above...

    :)
     
    Superfly, Nov 17, 2017
    #2
  3. Jampe Win User
    Re: Symbian Belle music player

    Hi all,



    Please check
    Nokia Store
    for Belle compatible equalizer that you can edit yourself.
    Nokia Belle Feature Pack 1
    is the only announced future update for Belle.
     
    Jampe, Nov 17, 2017
    #3
  4. SRGGRV1 Win User

    Announcing the Windows Compatibility Pack for .NET Core

    False WindowBlinds detection blocking Fall Creators Update

    Here is my installed programs list:

    .NET Core SDK 1.0.4 (x64) (32-бита)
    376 MB
    10.05.2017 20:55

    .NET Core SDK 1.1.0 (x64) (32-бита)
    427 MB
    12.09.2017 10:03

    µTorrent
    8.77 MB
    23.08.2016 17:41

    Active Directory Authentication Library for SQL Server
    1.75 MB
    12.09.2017 19:41

    Application Insights Tools for Visual Studio 2015 (32-бита)
    11.9 MB
    23.08.2016 00:00

    Browser for SQL Server 2016 (32-бита)
    14.3 MB
    24.08.2016 00:00

    BS.Player PRO (32-бита)
    16.0 MB
    02.05.2017 10:39

    Cisco AnyConnect Secure Mobility Client (32-бита)
    707 MB
    20.06.2017 12:15

    Citrix Online Launcher (32-бита)
    552 KB
    06.03.2017 00:00

    ClickOnce Bootstrapper Package for Microsoft .NET Framework 4.6.2 on Visual Studio 2015 (32-бита)
    488 KB
    10.01.2017 00:00

    Clip2net version 2.3.3.316 (32-бита)
    33.6 MB
    24.08.2016 00:00

    Entity Framework 6.1.3 Tools for Visual Studio 2015 Update 1 (32-бита)
    45.9 MB
    23.08.2016 00:00

    FastStone Image Viewer 5.9 (32-бита)
    27.6 MB
    12.09.2016 18:24

    Git version 2.14.1
    422 MB
    13.09.2017 00:00

    Google Chrome (32-бита)
    1.71 GB
    23.08.2016 00:00

    Google Chrome Canary
    1.87 GB
    07.11.2016 00:00

    GoToMeeting 8.15.0.7759
    50.9 MB
    14.10.2017 09:29

    IIS 10.0 Express
    37.2 MB
    12.09.2017 19:41

    Intel(R) Management Engine Components
    19.0 MB
    23.08.2016 17:50

    Intel(R) Rapid Storage Technology
    37.9 MB
    24.08.2016 00:50

    JetBrains dotCover 2017.2.2
    329 MB
    08.10.2017 23:19

    JetBrains dotPeek 2017.2.2
    224 MB
    08.10.2017 23:20

    JetBrains dotTrace 2017.2.2
    356 MB
    08.10.2017 23:21

    JetBrains ReSharper Ultimate in Visual Studio 2015
    418 MB
    08.10.2017 23:18

    JetBrains ReSharper Ultimate in Visual Studio Enterprise 2017
    422 MB
    08.10.2017 23:19

    Light Alloy 4.9.3 (build 2538) (32-бита)
    40.5 MB
    03.04.2017 23:51

    LockHunter 3.2, 32/64 bit
    7.28 MB
    26.07.2017 00:00

    marvell 91xx driver (32-бита)
    1.47 MB
    02.05.2017 10:39

    Microsoft .NET Core 1.0.0 - SDK Preview 2 (x64) (32-бита)
    170 MB
    24.08.2016 01:42

    Microsoft .NET Core 1.0.0 - VS 2015 Tooling Preview 2 (32-бита)
    12.9 MB
    24.08.2016 01:42

    Microsoft .NET Core 1.0.1 - SDK 1.0.0 Preview 2-003131 (x64) (32-бита)
    170 MB
    18.09.2016 00:37

    Microsoft .NET Core 1.0.1 - VS 2015 Tooling Preview 2 (32-бита)
    9.83 MB
    25.09.2017 23:29

    Microsoft .NET Core 1.0.1 - VS 2015 Tooling Preview 2 (32-бита)
    12.9 MB
    18.09.2016 00:36

    Microsoft .NET Core 1.0.1 - VS 2015 Tooling Preview 2 (32-бита)
    12.9 MB
    16.11.2016 21:37

    Microsoft .NET Core Runtime - 2.0.0 (x64) (32-бита)
    84.4 MB
    12.09.2017 11:34

    Microsoft .NET Core SDK - 2.0.0 (x64) (32-бита)
    389 MB
    12.09.2017 11:26

    Microsoft .NET Core SDK - 2.0.2 (x64) (32-бита)
    392 MB
    20.10.2017 17:17

    Microsoft .NET Framework 4 Multi-Targeting Pack (32-бита)
    56.1 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.5 Multi-Targeting Pack (32-бита)
    49.6 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.5.1 Multi-Targeting Pack (32-бита)
    57.2 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.5.1 Multi-Targeting Pack (ENU) (32-бита)
    52.5 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.5.1 SDK (32-бита)
    38.8 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.5.2 Multi-Targeting Pack (32-бита)
    57.2 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.5.2 Multi-Targeting Pack (ENU) (32-бита)
    52.6 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.6 SDK (32-бита)
    40.0 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.6 Targeting Pack (32-бита)
    52.2 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.6 Targeting Pack (ENU) (32-бита)
    46.2 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.6.1 SDK (32-бита)
    40.1 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.6.1 Targeting Pack (32-бита)
    52.3 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.6.1 Targeting Pack (ENU) (32-бита)
    46.2 MB
    23.08.2016 00:00

    Microsoft .NET Framework 4.6.2 SDK (32-бита)
    40.4 MB
    10.01.2017 00:00

    Microsoft .NET Framework 4.6.2 Targeting Pack (32-бита)
    52.3 MB
    10.01.2017 00:00

    Microsoft .NET Framework 4.6.2 Targeting Pack (ENU) (32-бита)
    46.0 MB
    10.01.2017 00:00

    Microsoft AS OLE DB Provider for SQL Server 2016
    224 MB
    08.11.2016 00:00

    Microsoft AS OLE DB Provider for SQL Server 2017 CTP2.1
    420 MB
    12.09.2017 19:41

    Microsoft ASP.NET MVC 4 Runtime (32-бита)
    51.9 MB
    24.08.2016 00:00

    Microsoft ASP.Net Web Frameworks 5.0 Security Update (KB2992080) (32-бита)
    1.00 MB
    10.10.2016 00:00

    Microsoft ASP.Net Web Frameworks 5.1 Security Update (KB2994397) (32-бита)
    516 KB
    31.08.2016 00:00

    Microsoft Azure App Service Tools v3.0.0 - Visual Studio 2015 (32-бита)
    179 MB
    22.03.2017 00:59

    Microsoft Azure Authoring Tools - v2.9.5.3
    12.2 MB
    10.05.2017 00:00

    Microsoft Azure Compute Emulator - v2.9.5.3

    10.04.2017 02:36

    Microsoft Azure Data Lake and Stream Analytics Tools for Visual Studio 2015 (32-бита)
    535 MB
    20.08.2017 00:00

    Microsoft Azure Libraries for .NET – v2.9
    67.7 MB
    10.05.2017 00:00

    Microsoft Azure Mobile App SDK V3.0 (32-бита)
    91.0 MB
    12.09.2017 00:00

    Microsoft Azure PowerShell - September 2016 (32-бита)
    349 MB
    10.05.2017 00:00

    Microsoft Azure Quickstarts (32-бита)
    1.72 MB
    24.08.2016 00:00

    Microsoft Azure Storage Emulator - v5.2 (32-бита)

    12.07.2017 14:42

    Microsoft Azure Storage Tools - v6.2.0 (32-бита)
    358 MB
    20.08.2017 00:00

    Microsoft Azure Tools for Microsoft Visual Studio 2015 - v2.9 (32-бита)
    819 KB
    22.03.2017 00:58

    Microsoft Emulator - Windows 10.0.14393.0 (32-бита)
    27.7 MB
    23.08.2016 23:06

    Microsoft Help Viewer 2.2 (32-бита)
    11.2 MB
    23.08.2016 22:57

    Microsoft Hive ODBC Driver
    30.6 MB
    24.08.2016 00:00

    Microsoft ODBC Driver 13 for SQL Server
    9.61 MB
    24.08.2016 00:00

    Microsoft Office Developer Tools for Visual Studio 2015 (32-бита)
    176 MB
    24.08.2016 01:51

    Microsoft OneDrive
    84.7 MB
    27.10.2017 12:39

    Microsoft Silverlight
    66.5 MB
    13.06.2017 00:00
     
    SRGGRV1, Nov 17, 2017
    #4
Thema:

Announcing the Windows Compatibility Pack for .NET Core

Loading...
  1. Announcing the Windows Compatibility Pack for .NET Core - Similar Threads - Announcing Compatibility Pack

  2. Announcing .NET Core 3.1 LTS release

    in Windows 10 News
    Announcing .NET Core 3.1 LTS release: We’re excited to announce the release of .NET Core 3.1. It’s really just a small set of fixes and refinements over .NET Core 3.0, which we released just over two months ago. The most important feature is that .NET Core 3.1 is an long-term supported (LTS) release and will be...
  3. Announcing .NET Core 3.0

    in Windows 10 News
    Announcing .NET Core 3.0: We’re excited to announce the release of .NET Core 3.0. It includes many improvements, including adding Windows Forms and WPF, adding new JSON APIs, support for ARM64 and improving performance across the board. C# 8 is also part of this release, which includes nullable, async...
  4. Announcing .NET Core 3.1 Preview 1

    in Windows 10 News
    Announcing .NET Core 3.1 Preview 1: Today, we’re announcing .NET Core 3.1 Preview 1. .NET Core 3.1 will be a small release focused on key improvements in Blazor and Windows desktop, the two big additions in .NET Core 3.0. It will be a long term support (LTS) release with an expected final ship date of December...
  5. Announcing .NET Core 3.0

    in Windows 10 News
    Announcing .NET Core 3.0: We’re excited to announce the release of .NET Core 3.0. It includes many improvements, including adding Windows Forms and WPF, adding new JSON APIs, support for ARM64 and improving performance across the board. C# 8 is also part of this release, which includes nullable, async...
  6. Announcing .NET Core 3.0 Preview 9

    in Windows 10 News
    Announcing .NET Core 3.0 Preview 9: Today, we’re announcing .NET Core 3.0 Preview 9. Just like with Preview 8, we’ve focused on polishing .NET Core 3.0 for a final release and aren’t adding new features. If these final builds seem less exciting than earlier previews, that’s by design. Download .NET Core 3.0...
  7. Announcing .NET Core 3 Preview 3

    in Windows 10 News
    Announcing .NET Core 3 Preview 3: Today, we are announcing .NET Core 3.0 Preview 3. We would like to update you on the .NET Core 3.0 schedule and introduce you to improvements in .NET Core SDK installers, Docker containers, Range, and Index. We also have updates on the Windows Desktop and Entity Framework...
  8. Announcing .NET Core 3 Preview 2

    in Windows 10 News
    Announcing .NET Core 3 Preview 2: .NET Core 3.0 Preview 2 is now available and it includes a bunch of new updates to ASP.NET Core. Here's the list of what's new in this preview: Razor Components SignalR client-to-server streaming Pipes on HttpContext Generic host in templates Endpoint routing updates Get...
  9. Announcing .NET Core 2.2

    in Windows 10 News
    Announcing .NET Core 2.2: We’re excited to announce the release of .NET Core 2.2. It includes diagnostic improvements to the runtime, support for ARM32 for Windows and Azure Active Directory for SQL Client. The biggest improvements in this release are in ASP.NET Core. ASP.NET Core 2.2 and Entity...
  10. Announcing .NET Core 2.1

    in Windows 10 News
    Announcing .NET Core 2.1: We’re excited to announce the release of .NET Core 2.1. It includes improvements to performance, to the runtime and tools. It also includes a new way to deploy tools as NuGet packages. We’ve added a new primitive type called Span<T> that operates on data without allocations....