.NET Core is a new open source, cross-platform version of .NET that is optimized for cloud-based development scenarios. It consists of a modular runtime (CoreCLR), class libraries (CoreFX), and tools (CLI). .NET Core is not a new version of the .NET Framework, but rather a fork that is being merged back. It aims to provide a consistent development experience across platforms via NuGet packages and the .NET Standard platform specification.
Slides for my video on how .NET Standard works under the covers.
https://www.youtube.com/watch?v=vg6nR7hS2lI&t=13s&list=PLRAdsfhKI4OWx321A_pr-7HhRNk7wOLLY&index=4
Slides for my video on how .NET Standard works under the covers.
https://www.youtube.com/watch?v=vg6nR7hS2lI&t=13s&list=PLRAdsfhKI4OWx321A_pr-7HhRNk7wOLLY&index=4
Future of .NET - .NET on Non Windows Platforms. .NET has been so far targeted towards Windows only. Now Microsoft created a subset of .NET called .NET Core that would run on Linux and OS X apart from Windows.
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...GlobalLogic Ukraine
This webinar by Ruslan Bilovol (Associate Manager, Engineering Consultant, GlobalLogic) was delivered at Embedded Community Webinar #13 on June 17, 2021.
We discussed the following topics:
- high-level review of the Linux Kernel contribution process,
- what is important and what is not in the process
- insights and best practices
- demo bug fixes and install the Linux kernel patch in Open Source
More details and video: https://www.globallogic.com/ua/about/events/embedded-community-webinar-13/
Microsoft is working hard to modernize the .NET Platform. There are great new frameworks and tools coming, such as .NET Core and ASP.NET Core. The amount of new things is overwhelming, with multiple .NET Platforms (.NET Framework, Unified Windows Platform, .NET Core), multiple runtimes (CoreCLR, CLR, CoreRT), multiple compilers (Roslyn, RyuJIT, .NET Native and LLILC) and much more. This session will bring you up to speed on all this new Microsoft technology, focusing on .NET Core.
But, we will also take a look at the first framework implementation on top op .NET Core for the Web: ASP.NET Core 1.0. You will learn about ASP.NET Core 1.0 and how it is different from ASP.NET 4.6. This will include Visual Studio 2015 support, cross-platform ASP.NET Core and command-line tooling for working with ASP.NET Core and .NET Core projects.
After this session you know where Microsoft is heading in the near future. Be prepared for a new .NET Platform.
Committing to a company-wide software change is no small feat, but if you’re already sweating at the mere thought of checking code in and out, it’s time to plan your escape route.
So, break free and join Tom Tyler, Senior Consultant at Perforce and in-house ClearCase specialist to map out:
- Baseline-and-branch vs. detail history import strategies
- Porting
- Integrations for defect trackers, training, and tooling
- Cutover strategies
Moving 1,000 Users & 100 Branches into StreamsPerforce
MathWorks has approximately 100 products derived from a single large code base, with over 1,000 developers contributing changes to almost one million source files. Their products are used to develop safety-critical systems, so managing a continuous influx of changes while guaranteeing quality and correctness is challenging. Learn how MathWorks, unable to use a simple model of “component as a directory,” created an elegant system using virtual streams and the Perforce broker in their ongoing efforts to modularize their code base.
LCA14: LCA14-403: Importance of migrating external projects used in Android t...Linaro
Resource: LCA14
Name: LCA14-403: Importance of migrating external projects used in Android to it's latest version
Date: 06-03-2014
Speaker: Sireesh Tripurari
.NET online training offered by Quontra Solutions with special features having Extensive Training will be in both .NET Online Training and Placement. We help you in resume preparation and conducting Mock Interviews.
Emphasis is given on important topics that were required and mostly used in real time projects. Quontra Solutions is an Online Training Leader when it comes to high-end effective and efficient IT Training. We have always been and still are focusing on the key aspect which is providing utmost effective and competent training to both students and professionals who are eager to enrich their technical skills.
Future of .NET - .NET on Non Windows Platforms. .NET has been so far targeted towards Windows only. Now Microsoft created a subset of .NET called .NET Core that would run on Linux and OS X apart from Windows.
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...GlobalLogic Ukraine
This webinar by Ruslan Bilovol (Associate Manager, Engineering Consultant, GlobalLogic) was delivered at Embedded Community Webinar #13 on June 17, 2021.
We discussed the following topics:
- high-level review of the Linux Kernel contribution process,
- what is important and what is not in the process
- insights and best practices
- demo bug fixes and install the Linux kernel patch in Open Source
More details and video: https://www.globallogic.com/ua/about/events/embedded-community-webinar-13/
Microsoft is working hard to modernize the .NET Platform. There are great new frameworks and tools coming, such as .NET Core and ASP.NET Core. The amount of new things is overwhelming, with multiple .NET Platforms (.NET Framework, Unified Windows Platform, .NET Core), multiple runtimes (CoreCLR, CLR, CoreRT), multiple compilers (Roslyn, RyuJIT, .NET Native and LLILC) and much more. This session will bring you up to speed on all this new Microsoft technology, focusing on .NET Core.
But, we will also take a look at the first framework implementation on top op .NET Core for the Web: ASP.NET Core 1.0. You will learn about ASP.NET Core 1.0 and how it is different from ASP.NET 4.6. This will include Visual Studio 2015 support, cross-platform ASP.NET Core and command-line tooling for working with ASP.NET Core and .NET Core projects.
After this session you know where Microsoft is heading in the near future. Be prepared for a new .NET Platform.
Committing to a company-wide software change is no small feat, but if you’re already sweating at the mere thought of checking code in and out, it’s time to plan your escape route.
So, break free and join Tom Tyler, Senior Consultant at Perforce and in-house ClearCase specialist to map out:
- Baseline-and-branch vs. detail history import strategies
- Porting
- Integrations for defect trackers, training, and tooling
- Cutover strategies
Moving 1,000 Users & 100 Branches into StreamsPerforce
MathWorks has approximately 100 products derived from a single large code base, with over 1,000 developers contributing changes to almost one million source files. Their products are used to develop safety-critical systems, so managing a continuous influx of changes while guaranteeing quality and correctness is challenging. Learn how MathWorks, unable to use a simple model of “component as a directory,” created an elegant system using virtual streams and the Perforce broker in their ongoing efforts to modularize their code base.
LCA14: LCA14-403: Importance of migrating external projects used in Android t...Linaro
Resource: LCA14
Name: LCA14-403: Importance of migrating external projects used in Android to it's latest version
Date: 06-03-2014
Speaker: Sireesh Tripurari
.NET online training offered by Quontra Solutions with special features having Extensive Training will be in both .NET Online Training and Placement. We help you in resume preparation and conducting Mock Interviews.
Emphasis is given on important topics that were required and mostly used in real time projects. Quontra Solutions is an Online Training Leader when it comes to high-end effective and efficient IT Training. We have always been and still are focusing on the key aspect which is providing utmost effective and competent training to both students and professionals who are eager to enrich their technical skills.
It is most compact and precise presentation for the students doing their summer training from ntpc in control and instrumentation department.
Any kind of information can be taken from this slide regarding the controlling process the plant.
The electronics and communication students can get all information that is sufficient for the presentation on ntpc-singrauli
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)citizenmatt
After the initial excitement of .NET Core wore off (Cross platform! Open source!), we realised there were a few things missing. APIs, mostly.
Oh, and compatibility with a lot of your favourite libraries and packages. Fortunately, the .NET Standard is here to fix all of this, adding back APIs, restoring compatibility and even replacing PCLs. This talk is all about the How and the Why, mixed in with a healthy dose of Why Should I Care. We'll even have a little geek out over the technical details. If type forwarding can't restore your excitement levels to fever pitch, I don’t know what will!
(Slides from NDC London 2017)
.NET Core, ASP.NET Core Course, Session 3aminmesbahi
Session 3,
Introducing to Compiler
What is the LLVM?
LLILC
RyuJIT
AOT Compilation
Preprocessors and Conditional Compilation
An Overview on Dependency Injection
Overview of the new .NET Core and .NET Platform StandardAlex Thissen
Microsoft is working hard to modernize the .NET Platform. There are great new frameworks and tools coming, such as .NET Core and ASP.NET Core. The amount of new things is overwhelming, with multiple .NET Platforms (.NET Framework, Unified Windows Platform, .NET Core), multiple runtimes (CoreCLR, CLR, CoreRT), multiple compilers (Roslyn, RyuJIT, .NET Native and LLILC) and much more. This session will bring you up to speed on all this new Microsoft technology, focusing on .NET Core.
ASP.NET 5 - Microsoft's Web development platform reimaginedAlex Thissen
Presentation for Dutch Microsoft TechDays 2015:
The ASP.NET Framework is rebuilt from the ground up in version 5. On the surface it might still resemble the ASP.NET you have come to know in the past 13 years. Underneath the covers there are immense changes in the way ASP.NET works. It is designed with modern software development practices in mind and clearly shows the shift in Microsoft's approach to web and cross-platform and open source development. In this session you will see the most important parts of ASP.NET 5 and get a glimpse into the future of .NET as well.
Want to move to .NET 5? In this session you'll see how to approach porting projects from .NET Framework, .NET Core, and .NET Standard to .NET 5 and the tools you can use to get there.
1. What laid behind of creation?
2. About .NET Core
3. Everything is a package
4. .NET Framework, .NET Standard and .NET Native: what’s the difference
5 . .NET Core vs.NET Framework for server apps
6 . What's under the hood? Understanding CoreCLR and IL
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
2. This is Matt Ellis
He works for Microsoft, and is a developer on
the .NET Core team.
This is not me.
3. This is Matt Ellis
He works for JetBrains, and is an interested
amateur in .NET Core.
This is me.
4. What is .NET Core?
New .NET stack - CLR + BCL
Open Source
Cross platform
Standalone -
per-application installs
Factored for modularity -
“cloud optimised”
Everything ships as
NuGet packages,
including the runtime
Not finished…
RTM Q1 2016 (ish)
5. .NET Core != .NET Framework
NOT a new version of the .NET Framework
• .NET Framework is going nowhere
• .NET Core is 5.0 1.0
.NET Framework is 4.6
• .NET Core is a fork of the .NET Framework
Code merged back to TFS
• .NET Core is (currently) a strict subset of
the .NET Framework
• Missing pieces in .NET Core
Windows: WinForms, WPF, COM, etc.
Platform: AppDomains, Remoting,
Reflection.Emit, etc.
• Different constraints:
Ship cycles, compatibility, system wide install
11. How do I get it?
.NET CLI tools (née DNX)
Official installer from dotnet.github.io
dotnet.exe, compilers (csc, vbc, fsc, ilc), NuGet,
own .NET Core instance (runtime + fx)
dotnet.exe is a driver for other commands
e.g. dotnet foo simply executes dotnet-foo
No more dnvm - runtime is genuine NuGet dependency now
(“runtime.osx….” packages)
Global package cache
dotnet compile dotnet-compile
dnvm
runtime.osx.…
dotnet.exe
14. CoreRT (née .NET Native)
Alternative runtime (optimisation)
• AOT compilation (RyuJIT → Native)
• Compiles all dependencies
Tree shaking
• Reflection? Via xml!
• Open Source (dotnet/corert)
• Previously Windows Store only
Now includes Mac + Linux (!)
• ILtoCPP - IL → C++ → native
LLILC - LLVM based JIT/AOT
16. dotnet/coreclr
JIT compiler (RyuJIT), Garbage Collector, Platform Abstraction Layer - C++
mscorlib (tightly coupled to runtime) - C#
PAL - OS and platform differences. E.g. exception handling, threads, etc.
P/Invoke to OS, FEATURE #ifdefs
Book of the Runtime!
Mirror back to TFS
18. dotnet/corefx
Factored for modularity - each solution/assembly is a package
Some platform specific implementations, e.g. System.Console,
Process.Interop.Unix.cs, etc.
Might throw PlatformNotSupportedException
(e.g. Console.get_ForegroundColor )
Build is based on project.json, packages as references
Mirrored to TFS + .NET Framework
High compatibility bar for changes, transparent API review process
Console.get_ForegroundColor
PlatformNotSupportedException
20. How the application is hosted and run
Environmental services
What is an AppModel?
Bootstrap the CLR
Execute the
application
21. .NET Framework AppModels
.NET .exe
Originally a native stub that
loaded the CLR (x86 only!)
Special cased by OS loader
since Windows XP
Loads mscoree.dll, which
initialises CLR and executes
app
IIS/asp.net
Pre-IIS 7 - ISAPI filter
IIS 7 directly integrates CLR
Pipes requests/responses to
managed code
Lifetime management
Windows Phone /
Windows Store
Magic!
“Application host” loads CLR
Integrates with environment
events. E.g. suspend and
resume applications
Pre-compiled / .NET Native
23. .NET CLI (née DNX)
Dot NET Execution Environment
started with
ASP.NET Core
Targets .NET Core /
.NET Framework /
Mono
Self contained .NET Core
environment
Changes project system
Reference packages, not assemblies
More…
24. • Packages for runtime and BCL
• BCL factored into many packages
• NuGet at heart of project system
(.xproj)
• NuGet is the new Portable Class
Library
NuGet
Bleeding edge.
25. How does it work?
.NET Core app
.NET Core package
PCL package
.NET Framework package
.NET Framework app
?
26. Platforms
• No such thing as a .NET Core “app”
App runs on a version of a platform, e.g. .NET CLI, .NET Framework, Windows UWP
• Platforms conform to a specific version of the .NET Standard Platform
• Packages target a real platform (e.g. lib/net46 ) or a specific version of the .NET Standard
Platform - e.g. lib/netstandard1.3
• NuGet understands mappings between real platforms and n e tstandard versions (and PCLs)
• Can consume any compatible platform
• E.g. dnxcore50 maps to netstandard1. ; net46 to netstandard1.3
.NET CLI apps can consume net46 packages. But not vice versa (however, net461 can)
libnet46
libnetstandard1.3
netstandardapp1.4 netstandard1.4 net46 netstandard1.3
net46 net461
netstandard
27. What is the .NET Standard Platform?
Replacing Portable Class Libraries
28. PCL Refresher
1. A PCL is a class library that needs to run on multiple platforms and versions
(e.g. .NET Framework, Windows Phone, Xamarin)
2. It defines a common subset of APIs that are available on ALL of the required
versions of these platforms - a “Profile”
3. When targeting a Profile, the compiler references a set of Reference Assemblies
These describe the API with empty types, and forward types to correct assemblies
4. At runtime, the real assemblies on the target platform implement the APIs
Can also forward types to other assemblies
29. Portable Class Libraries
• PCL hides platform specific implementation details behind a common API
contract (reference assembly)
• Profiles do not scale. The more versions and platforms, the more Profiles…
• A published PCL lists all supported platforms
If a new platform is created, it isn’t supported
30. Reference Assemblies in .NET Core
• Allows for different implementations on different platforms and operating
systems, but common API
• Allows for refactoring the BCL!
• Reference Assemblies shipped in NuGet
packages in ref folder
• PCL consuming a package will use the
Reference Assembly at compile time, but
implementation assembly at runtime
ref
31. What is the .NET Standard Platform?
• A versioned collection of API contracts
Reference assemblies
• Each version is a superset of the previous
version - backwards compatible
• Similar to PCL Profile, but flipped
Not list of supported platforms, but a single
platform for other platforms to conform to
• Replaces PCLs with a single versioned moniker.
Creating a new platform is easy
• Only works with .NET Framework ≧ 4.5!
33. How does this affect us?
Creating NuGet packages
Target netstandard
if possible
No implicit platform
dependencies
Explicitly specify used
dependencies
Version of dependencies is irrelevant
Implied by .NET Standard Platform
Include PCL and
reference assembly
if required
34. New Target Framework Monikers
Brand new
• dotnet - - .NET Core contracts. Replaces portable- . Use this!
Supports .Net Framework 4.5 and later (inc. Xamarin)
• dnx451 , dnx46 - - Application running on .NET CLI
• uap10.0 - .NET Core 5.0 on Windows. AKA
(UWP apps. Follows netcore45 / win8 , netcore451 / win81)
netstandard1.X
netstandardapp1.X
netcore50
netcore45 win8 netcore451 win81
uap10.0
portable-*
35. What does this mean for Mono?
Lots. Or not much.
Mono == .NET Framework
Mono already
cross platform
Mono’s focus is
non-Windows
mobile (Xamarin)
.NET Core’s focus
is server and
Windows UWP
Mono can include
CoreCLR + CoreFX
code
36. Where does Roslyn fit in?
Orthogonal.
Runs on .NET
Framework + Mono
Ships with .NET CLI
running on .NET Core
Compiling CoreCLR + CoreFX
currently requires Windows/Mono
C# compiler
written in C#