SlideShare uma empresa Scribd logo
1 de 27
29.09.2016.
Zagreb
Hotel Antunović
Zagreb, 29.09.2016.
Damir Dobric
.NET Core
POKROVITELJI
AKADEMSKI PARTNERI DIGITALNI PARTNER PRIJATELJI KONFERENCIJE
GENERALNI SPONZOR GENERALNI MEDIJSKI SPONZOR GLAVNI SPONZORI
MEDIJSKI PARTNERI
SPONZORI
CloudAppsCloud CloudConsultingCloudAppsMiddlewareCloudAppsMiddlewareSoftware
Damir Dobric
damir.dobric@daenet.com
b-dadobr@microsoft.com
Software Lead Architect
Microsoft Most Valuable Professional
Software Engineering & Distributed Systems
University of Applied Sciences Frankfurt am MainBlog Twitter
N24: https://www.youtube.com/watch?v=EG0CPe2uMfM
http://daenet.de
Framework for Cross Platform Development
 .NET Core is invented for Cloud Development but…
 It runs on:
 Win8, Win10 (all windows devices=> UWP + system32)
 Linux, Mac-OS and ...
Application Types in .NET Core
 Framework Dependent Application
 Common .NET application type
 It requires preinstalled .NET framework to run
 Small footLprint
 Running of multiple applications on the same box might be
difficult.
 Self-Contained application
 Precompiled for runtime
 Includes runtime assemblies as a part of application
 Does not need preinstalled framework
 Big footprint.
 Libraries
Framework Dependent Applications
Global.json
 Defines the SDK-s to be used
in solution (projects)
 SDK is installed in:
C:Program Filesdotnetsdk
Project.json
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"netcorelib": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
Dependencies
of application
Target
Framework
Moniker
This means that
application depends on
installed framework
(platform)
Build and Deploy…
Restores (downloads) nugget packages:
C:AppFolder>dotnet restore
Build application:
C:AppFolder>dotnet build
Feed:
Restoring packages for C:UsersddobricUwpAppproject.json...
GET https://api.nuget.org/v3-flatcontainer/system.runtime.windowsruntime/index.json
OK https://api.nuget.org/v3-flatcontainer/system.runtime.windowsruntime/index.json 463ms
GET https://dotnetmyget.blob.core.windows.net/artifacts/dotnet-core/nuget/v3/flatcontainer/system.runtime.windowsruntime/index.js
OK https://dotnetmyget.blob.core.windows.net/artifacts/dotnet-core/nuget/v3/flatcontainer/system.runtime.windowsruntime/index.jso
GET https://dotnetmyget.blob.core.windows.net/artifacts/dotnet-core/nuget/v3/flatcontainer/system.runtime.windowsruntime/4.0.11-r
23925/system.runtime.windowsruntime.4.0.11-rc2-23925.nupkg
OK https://dotnetmyget.blob.core.windows.net/artifacts/dotnet-core/nuget/v3/flatcontainer/system.runtime.windowsruntime/4.0.11-rc
23925/system.runtime.windowsruntime.4.0.11-rc2-23925.nupkg 385ms
Running application
 Run application:
 C:AppFolder>dotnet run
NOTE: Your
application is a DLL
and NOT an EXE!!!
NOTE: All framework
assemblies are loaded
from installation path
Self Contained Applications
 Precompiled for specific runtime
 win10-x64
 osx.10.10-x64
 ubuntu.14.04-x64
 Includes runtime assemblies as a part of application
 Does not need preinstalled framework
 Big footprint.
 Deployment is two-step process
 Build Executable shim
 Publish with runtime
Self-Contained Applications
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
// "type": "platform"
},
"netcorelib": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
},
"runtimes": {
"win10-x64": {},
"osx.10.10-x64": {},
"ubuntu.14.04-x64": {}
}
Remove this to
activate build of
executable.
Add wanted
runtimes. Or you get
an error. 
Failed to make the following project runnable:
netcoresample (.NETCoreApp,Version=v1.0) reason: Expected
coreclr library not found in package graph. Please try
running dotnet restore again.
.NET Core Runtimes
 Runtime Identifier RID
 Identifies Operative System
 https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
 https://github.com/dotnet/corefx/blob/master/pkg/Microsoft.NETCore.Pla
tforms/runtime.json
 Common Examples
 win10-x64
 osx.10.10-x64
 ubuntu.14.04-x64
 … "runtimes": {
"win10-x64": {},
"osx.10.10-x64": {},
"ubuntu.14.04-x64": {}
Specify runtime undet runtime
section in project.json
RID
Currently Supported Operative Systems
https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
Step I: Build executable shim
Build application:
C:AppFolder>dotnet build
Native shim code.
You application is still
here  in DLL
When you run this it is will
load framework assemblies
from installation folder. It is
still not self-contained
application
Step II: Build Self-Contained Application
Build application:
C:AppFolder>dotnet build
Build application:
C:AppFolder>dotnet publish –r win10-x64
C:AppFolder>dotnet publish –r win10-x86
C:AppFolder>dotnet publish –r ubuntu.14.04-x64
C:AppFolder>dotnet publish –r ubuntu.14.04-x64
All framework assemblies
are deployed with
application.
Run with dbl-click on EXE or similar
Application is still DLL
Framework is loaded from application
path and not from installation.
How to create a library?
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.5.0-rc2-23925"
},
"frameworks": {
"netstandard1.1": {
"imports": "dnxcore50"
},
"netstandard1.5": {
"imports": "dnxcore50"
}
}
}
.NET Standard
How to build NUGET?
Create NUGET for library:
C:AppFolder>dotnet pack
Command output is
NUGET package
Example:
If library is 1.5 then .NET application must
be build with .NET 4.6.2 or higher.
.NET reference to .NET Core
 Add NUGET reference to library from your .NET
(Desktop) application.
 Checks specified standard
 If you add direct reference standard is NOT checked.
UWP Reference to .NET Core
{
"dependencies": {
"Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2"
},
"frameworks": {
"uap10.0": {}
},
"runtimes": {
"win10-arm": {},
"win10-arm-aot": {},
"win10-x86": {},
"win10-x86-aot": {},
"win10-x64": {},
"win10-x64-aot": {}
}
}
Before you add reference to .NET
Core Nuget Package your UWP app
must have reference to v5.5.2 or
higher.
With this TFM we know, that
this project.json is an
Universal Application
Platform app.
Testing
Add following NUGET packages:
xunit
dotnet-test-xunit
Run tests:
dotnet test
References
 https://blogs.msdn.microsoft.com/mvpawardprogram/
2016/07/19/key-steps-in-developing-net-core-
applications/
 https://github.com/dotnet/corefx/blob/master/Docum
entation/architecture/net-platform-standard.md
 https://blogs.msdn.microsoft.com/mvpawardprogram/
2016/07/19/key-steps-in-developing-net-core-
applications/#comment-46395
 http://developers.de/blogs/damir_dobric/archive/2016
/09/28/digging-deeper-in-net-core-applications.aspx
Ankete
Popunite ankete i osvojite vrijedne
nagrade!
Ankete su dostupne na:
a) Mobilnim uređajima (Android, Apple, Windows)
b) Web-u http://www.mobilityday.com
PIN za pristup se nalazi na poleđini akreditacije i u vašem
on-line profilu.
CloudAppsCloud CloudConsultingCloudAppsMiddlewareCloudAppsMiddlewareSoftware
Damir Dobric
damir.dobric@daenet.com
b-dadobr@microsoft.com
Software Lead Architect
Microsoft Most Valuable Professional
Software Engineering & Distributed Systems
University of Applied Sciences Frankfurt am MainBlog Twitter
N24: https://www.youtube.com/watch?v=EG0CPe2uMfM
http://daenet.de

Mais conteúdo relacionado

Mais procurados

Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupMurat Yener
 
Overview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardOverview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardAlex Thissen
 
Complete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour TechnolabComplete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour TechnolabiFour Technolab Pvt. Ltd.
 
important DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And Interviewsimportant DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And InterviewsRahul Jain
 
Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015Julian Atanasoae
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core introBinary Studio
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreBaris Ceviz
 
PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoftnusmas
 
Framework dynamic par Simone Sivetta
Framework dynamic par Simone SivettaFramework dynamic par Simone Sivetta
Framework dynamic par Simone SivettaCocoaHeads France
 
How to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKHow to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKMirco Vanini
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnetRick van den Bosch
 
O futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberO futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberDanilo Bordini
 
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel ZikmundKarel Zikmund
 
ASP Dot Net Software Development in India - iFour Technolab
ASP Dot Net Software Development in India - iFour TechnolabASP Dot Net Software Development in India - iFour Technolab
ASP Dot Net Software Development in India - iFour TechnolabiFour Technolab Pvt. Ltd.
 
Lesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment SetupLesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment SetupUniversity of Catania
 

Mais procurados (20)

Silverlight
SilverlightSilverlight
Silverlight
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
 
Overview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardOverview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform Standard
 
Complete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour TechnolabComplete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour Technolab
 
important DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And Interviewsimportant DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And Interviews
 
Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015
 
.Net Core
.Net Core.Net Core
.Net Core
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core intro
 
Electron
ElectronElectron
Electron
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET Core
 
PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoft
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
Framework dynamic par Simone Sivetta
Framework dynamic par Simone SivettaFramework dynamic par Simone Sivetta
Framework dynamic par Simone Sivetta
 
How to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKHow to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDK
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet
 
O futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberO futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saber
 
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
 
ASP Dot Net Software Development in India - iFour Technolab
ASP Dot Net Software Development in India - iFour TechnolabASP Dot Net Software Development in India - iFour Technolab
ASP Dot Net Software Development in India - iFour Technolab
 
Lesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment SetupLesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment Setup
 
Migrating from MFC to Qt
Migrating from MFC to QtMigrating from MFC to Qt
Migrating from MFC to Qt
 

Destaque

Vancouver Real Estate at the Conclusion of 2015 Newsletter
Vancouver Real Estate at the Conclusion of 2015 NewsletterVancouver Real Estate at the Conclusion of 2015 Newsletter
Vancouver Real Estate at the Conclusion of 2015 NewsletterNeil Hamilton
 
Hoy comienza la 11° ExpoRSE
Hoy comienza la 11° ExpoRSE Hoy comienza la 11° ExpoRSE
Hoy comienza la 11° ExpoRSE Perú 2021
 
THE BALAVA HOTEL
THE BALAVA HOTELTHE BALAVA HOTEL
THE BALAVA HOTELB SUGANDI
 
Worst Body Language Mistakes in Interview
Worst Body Language Mistakes in InterviewWorst Body Language Mistakes in Interview
Worst Body Language Mistakes in InterviewFirm Next
 
Глас, словео, реч, реченица
Глас, словео, реч, реченицаГлас, словео, реч, реченица
Глас, словео, реч, реченицаSuncica Miscevic
 
сложена реченица
сложена реченицасложена реченица
сложена реченицаJovana Zivkovic
 
presentacion 2
presentacion 2presentacion 2
presentacion 2cprgraus
 
Ting 1 bab 3
Ting 1 bab 3Ting 1 bab 3
Ting 1 bab 3Ziana J
 
Saponin glycosides
Saponin glycosidesSaponin glycosides
Saponin glycosidesAditi Joshi
 
Ting 1 rbt bab 2
Ting 1 rbt bab 2Ting 1 rbt bab 2
Ting 1 rbt bab 2Ziana J
 

Destaque (15)

Escuchando al astro Rey
Escuchando al astro ReyEscuchando al astro Rey
Escuchando al astro Rey
 
Vancouver Real Estate at the Conclusion of 2015 Newsletter
Vancouver Real Estate at the Conclusion of 2015 NewsletterVancouver Real Estate at the Conclusion of 2015 Newsletter
Vancouver Real Estate at the Conclusion of 2015 Newsletter
 
TDP CERTIFICATE
TDP CERTIFICATETDP CERTIFICATE
TDP CERTIFICATE
 
Registro deconductasme
Registro deconductasmeRegistro deconductasme
Registro deconductasme
 
Hoy comienza la 11° ExpoRSE
Hoy comienza la 11° ExpoRSE Hoy comienza la 11° ExpoRSE
Hoy comienza la 11° ExpoRSE
 
Aymara
AymaraAymara
Aymara
 
THE BALAVA HOTEL
THE BALAVA HOTELTHE BALAVA HOTEL
THE BALAVA HOTEL
 
Worst Body Language Mistakes in Interview
Worst Body Language Mistakes in InterviewWorst Body Language Mistakes in Interview
Worst Body Language Mistakes in Interview
 
Глас, словео, реч, реченица
Глас, словео, реч, реченицаГлас, словео, реч, реченица
Глас, словео, реч, реченица
 
сложена реченица
сложена реченицасложена реченица
сложена реченица
 
presentacion 2
presentacion 2presentacion 2
presentacion 2
 
Ting 1 bab 3
Ting 1 bab 3Ting 1 bab 3
Ting 1 bab 3
 
Saponin glycosides
Saponin glycosidesSaponin glycosides
Saponin glycosides
 
Ting 1 rbt bab 2
Ting 1 rbt bab 2Ting 1 rbt bab 2
Ting 1 rbt bab 2
 
alcaldesa escolar
alcaldesa escolaralcaldesa escolar
alcaldesa escolar
 

Semelhante a Key Steps in Developing .NET Core Applications

Azure Mobile Services (+ Universal Apps)
Azure Mobile Services (+ Universal Apps)Azure Mobile Services (+ Universal Apps)
Azure Mobile Services (+ Universal Apps)Shahed Chowdhuri
 
01 Introduction to programming
01 Introduction to programming01 Introduction to programming
01 Introduction to programmingmaznabili
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CoreMalte Lantin
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CoreMalte Lantin
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentDevOps.com
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics PresentationSudhakar Sharma
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsKen Cenerelli
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparisonKaty Slemon
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp EnGregory Renard
 
Microsoft.net architecturte
Microsoft.net architecturteMicrosoft.net architecturte
Microsoft.net architecturteIblesoft
 
Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studiobryan costanich
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017Takayoshi Tanaka
 
Net Framework vs .Net Core A Complete Comparison.pdf
Net Framework vs  .Net Core  A Complete Comparison.pdfNet Framework vs  .Net Core  A Complete Comparison.pdf
Net Framework vs .Net Core A Complete Comparison.pdfWPWeb Infotech
 
The seven pillars of aspnet
The seven pillars of aspnetThe seven pillars of aspnet
The seven pillars of aspnetNethaji Naidu
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)Shoaib Ghachi
 

Semelhante a Key Steps in Developing .NET Core Applications (20)

Net core
Net coreNet core
Net core
 
Azure Mobile Services (+ Universal Apps)
Azure Mobile Services (+ Universal Apps)Azure Mobile Services (+ Universal Apps)
Azure Mobile Services (+ Universal Apps)
 
01 Introduction to programming
01 Introduction to programming01 Introduction to programming
01 Introduction to programming
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
 
Introduction to Programming Lesson 01
Introduction to Programming Lesson 01Introduction to Programming Lesson 01
Introduction to Programming Lesson 01
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
Mca 504 dotnet_unit1
Mca 504 dotnet_unit1Mca 504 dotnet_unit1
Mca 504 dotnet_unit1
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics Presentation
 
10 gui 14
10 gui 1410 gui 14
10 gui 14
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparison
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp En
 
Microsoft.net architecturte
Microsoft.net architecturteMicrosoft.net architecturte
Microsoft.net architecturte
 
Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studio
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017
 
Net Framework vs .Net Core A Complete Comparison.pdf
Net Framework vs  .Net Core  A Complete Comparison.pdfNet Framework vs  .Net Core  A Complete Comparison.pdf
Net Framework vs .Net Core A Complete Comparison.pdf
 
.NET Core on Mac
.NET Core on Mac.NET Core on Mac
.NET Core on Mac
 
The seven pillars of aspnet
The seven pillars of aspnetThe seven pillars of aspnet
The seven pillars of aspnet
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
 

Mais de Damir Dobric

Tools fuer ki and ml
Tools fuer ki and mlTools fuer ki and ml
Tools fuer ki and mlDamir Dobric
 
Introduction to Cosmos db
Introduction to Cosmos dbIntroduction to Cosmos db
Introduction to Cosmos dbDamir Dobric
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?Damir Dobric
 
Microservices and modern backends - Azure Meetup Frankfurt
Microservices and modern backends  - Azure Meetup FrankfurtMicroservices and modern backends  - Azure Meetup Frankfurt
Microservices and modern backends - Azure Meetup FrankfurtDamir Dobric
 
Building Applications for HoloLens
Building Applications for HoloLensBuilding Applications for HoloLens
Building Applications for HoloLensDamir Dobric
 
IoT Ultimate Session
IoT Ultimate SessionIoT Ultimate Session
IoT Ultimate SessionDamir Dobric
 
Moderne backends mit dem aktor programmiermodell
Moderne backends mit dem aktor programmiermodellModerne backends mit dem aktor programmiermodell
Moderne backends mit dem aktor programmiermodellDamir Dobric
 
IoT with UWP, .NETCore and Azure
IoT with UWP, .NETCore and AzureIoT with UWP, .NETCore and Azure
IoT with UWP, .NETCore and AzureDamir Dobric
 
Microsoft Io TechCamp Frankfurt am Main 2015
Microsoft Io TechCamp Frankfurt am Main 2015Microsoft Io TechCamp Frankfurt am Main 2015
Microsoft Io TechCamp Frankfurt am Main 2015Damir Dobric
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App ServicesDamir Dobric
 
Azure Machine Learning Intro
Azure Machine Learning IntroAzure Machine Learning Intro
Azure Machine Learning IntroDamir Dobric
 
Internet of Things, Cloud & Co.
Internet of Things, Cloud & Co.Internet of Things, Cloud & Co.
Internet of Things, Cloud & Co.Damir Dobric
 
Internet of Things & Co.
Internet of Things & Co.Internet of Things & Co.
Internet of Things & Co.Damir Dobric
 
IoT, connecting apps, devices and services
IoT, connecting apps, devices and servicesIoT, connecting apps, devices and services
IoT, connecting apps, devices and servicesDamir Dobric
 
Connecting Apps, Devices and Services
Connecting Apps, Devices and ServicesConnecting Apps, Devices and Services
Connecting Apps, Devices and ServicesDamir Dobric
 
Distributed systems witth Service Bus and Workflow Manager
Distributed systems witth Service Bus and Workflow ManagerDistributed systems witth Service Bus and Workflow Manager
Distributed systems witth Service Bus and Workflow ManagerDamir Dobric
 
WinDays 2013 KeyNote Slides
WinDays 2013 KeyNote SlidesWinDays 2013 KeyNote Slides
WinDays 2013 KeyNote SlidesDamir Dobric
 

Mais de Damir Dobric (20)

Tools fuer ki and ml
Tools fuer ki and mlTools fuer ki and ml
Tools fuer ki and ml
 
Ai zum anfassen
Ai zum anfassenAi zum anfassen
Ai zum anfassen
 
Introduction to Cosmos db
Introduction to Cosmos dbIntroduction to Cosmos db
Introduction to Cosmos db
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
Ai zum anfassen
Ai zum anfassenAi zum anfassen
Ai zum anfassen
 
AI for developers
AI for developersAI for developers
AI for developers
 
Microservices and modern backends - Azure Meetup Frankfurt
Microservices and modern backends  - Azure Meetup FrankfurtMicroservices and modern backends  - Azure Meetup Frankfurt
Microservices and modern backends - Azure Meetup Frankfurt
 
Building Applications for HoloLens
Building Applications for HoloLensBuilding Applications for HoloLens
Building Applications for HoloLens
 
IoT Ultimate Session
IoT Ultimate SessionIoT Ultimate Session
IoT Ultimate Session
 
Moderne backends mit dem aktor programmiermodell
Moderne backends mit dem aktor programmiermodellModerne backends mit dem aktor programmiermodell
Moderne backends mit dem aktor programmiermodell
 
IoT with UWP, .NETCore and Azure
IoT with UWP, .NETCore and AzureIoT with UWP, .NETCore and Azure
IoT with UWP, .NETCore and Azure
 
Microsoft Io TechCamp Frankfurt am Main 2015
Microsoft Io TechCamp Frankfurt am Main 2015Microsoft Io TechCamp Frankfurt am Main 2015
Microsoft Io TechCamp Frankfurt am Main 2015
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App Services
 
Azure Machine Learning Intro
Azure Machine Learning IntroAzure Machine Learning Intro
Azure Machine Learning Intro
 
Internet of Things, Cloud & Co.
Internet of Things, Cloud & Co.Internet of Things, Cloud & Co.
Internet of Things, Cloud & Co.
 
Internet of Things & Co.
Internet of Things & Co.Internet of Things & Co.
Internet of Things & Co.
 
IoT, connecting apps, devices and services
IoT, connecting apps, devices and servicesIoT, connecting apps, devices and services
IoT, connecting apps, devices and services
 
Connecting Apps, Devices and Services
Connecting Apps, Devices and ServicesConnecting Apps, Devices and Services
Connecting Apps, Devices and Services
 
Distributed systems witth Service Bus and Workflow Manager
Distributed systems witth Service Bus and Workflow ManagerDistributed systems witth Service Bus and Workflow Manager
Distributed systems witth Service Bus and Workflow Manager
 
WinDays 2013 KeyNote Slides
WinDays 2013 KeyNote SlidesWinDays 2013 KeyNote Slides
WinDays 2013 KeyNote Slides
 

Último

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Key Steps in Developing .NET Core Applications

  • 3. POKROVITELJI AKADEMSKI PARTNERI DIGITALNI PARTNER PRIJATELJI KONFERENCIJE GENERALNI SPONZOR GENERALNI MEDIJSKI SPONZOR GLAVNI SPONZORI MEDIJSKI PARTNERI SPONZORI
  • 4. CloudAppsCloud CloudConsultingCloudAppsMiddlewareCloudAppsMiddlewareSoftware Damir Dobric damir.dobric@daenet.com b-dadobr@microsoft.com Software Lead Architect Microsoft Most Valuable Professional Software Engineering & Distributed Systems University of Applied Sciences Frankfurt am MainBlog Twitter N24: https://www.youtube.com/watch?v=EG0CPe2uMfM http://daenet.de
  • 5. Framework for Cross Platform Development  .NET Core is invented for Cloud Development but…  It runs on:  Win8, Win10 (all windows devices=> UWP + system32)  Linux, Mac-OS and ...
  • 6. Application Types in .NET Core  Framework Dependent Application  Common .NET application type  It requires preinstalled .NET framework to run  Small footLprint  Running of multiple applications on the same box might be difficult.  Self-Contained application  Precompiled for runtime  Includes runtime assemblies as a part of application  Does not need preinstalled framework  Big footprint.  Libraries
  • 8. Global.json  Defines the SDK-s to be used in solution (projects)  SDK is installed in: C:Program Filesdotnetsdk
  • 9. Project.json { "version": "1.0.0-*", "buildOptions": { "emitEntryPoint": true }, "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.1", "type": "platform" }, "netcorelib": "1.0.0-*" }, "frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } } } Dependencies of application Target Framework Moniker This means that application depends on installed framework (platform)
  • 10. Build and Deploy… Restores (downloads) nugget packages: C:AppFolder>dotnet restore Build application: C:AppFolder>dotnet build Feed: Restoring packages for C:UsersddobricUwpAppproject.json... GET https://api.nuget.org/v3-flatcontainer/system.runtime.windowsruntime/index.json OK https://api.nuget.org/v3-flatcontainer/system.runtime.windowsruntime/index.json 463ms GET https://dotnetmyget.blob.core.windows.net/artifacts/dotnet-core/nuget/v3/flatcontainer/system.runtime.windowsruntime/index.js OK https://dotnetmyget.blob.core.windows.net/artifacts/dotnet-core/nuget/v3/flatcontainer/system.runtime.windowsruntime/index.jso GET https://dotnetmyget.blob.core.windows.net/artifacts/dotnet-core/nuget/v3/flatcontainer/system.runtime.windowsruntime/4.0.11-r 23925/system.runtime.windowsruntime.4.0.11-rc2-23925.nupkg OK https://dotnetmyget.blob.core.windows.net/artifacts/dotnet-core/nuget/v3/flatcontainer/system.runtime.windowsruntime/4.0.11-rc 23925/system.runtime.windowsruntime.4.0.11-rc2-23925.nupkg 385ms
  • 11. Running application  Run application:  C:AppFolder>dotnet run NOTE: Your application is a DLL and NOT an EXE!!! NOTE: All framework assemblies are loaded from installation path
  • 12. Self Contained Applications  Precompiled for specific runtime  win10-x64  osx.10.10-x64  ubuntu.14.04-x64  Includes runtime assemblies as a part of application  Does not need preinstalled framework  Big footprint.  Deployment is two-step process  Build Executable shim  Publish with runtime
  • 13. Self-Contained Applications { "version": "1.0.0-*", "buildOptions": { "emitEntryPoint": true }, "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.1", // "type": "platform" }, "netcorelib": "1.0.0-*" }, "frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } }, "runtimes": { "win10-x64": {}, "osx.10.10-x64": {}, "ubuntu.14.04-x64": {} } Remove this to activate build of executable. Add wanted runtimes. Or you get an error.  Failed to make the following project runnable: netcoresample (.NETCoreApp,Version=v1.0) reason: Expected coreclr library not found in package graph. Please try running dotnet restore again.
  • 14. .NET Core Runtimes  Runtime Identifier RID  Identifies Operative System  https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog  https://github.com/dotnet/corefx/blob/master/pkg/Microsoft.NETCore.Pla tforms/runtime.json  Common Examples  win10-x64  osx.10.10-x64  ubuntu.14.04-x64  … "runtimes": { "win10-x64": {}, "osx.10.10-x64": {}, "ubuntu.14.04-x64": {} Specify runtime undet runtime section in project.json RID
  • 15. Currently Supported Operative Systems https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
  • 16. Step I: Build executable shim Build application: C:AppFolder>dotnet build Native shim code. You application is still here  in DLL When you run this it is will load framework assemblies from installation folder. It is still not self-contained application
  • 17. Step II: Build Self-Contained Application Build application: C:AppFolder>dotnet build Build application: C:AppFolder>dotnet publish –r win10-x64 C:AppFolder>dotnet publish –r win10-x86 C:AppFolder>dotnet publish –r ubuntu.14.04-x64 C:AppFolder>dotnet publish –r ubuntu.14.04-x64 All framework assemblies are deployed with application.
  • 18. Run with dbl-click on EXE or similar Application is still DLL Framework is loaded from application path and not from installation.
  • 19. How to create a library? { "version": "1.0.0-*", "dependencies": { "NETStandard.Library": "1.5.0-rc2-23925" }, "frameworks": { "netstandard1.1": { "imports": "dnxcore50" }, "netstandard1.5": { "imports": "dnxcore50" } } }
  • 21. How to build NUGET? Create NUGET for library: C:AppFolder>dotnet pack Command output is NUGET package Example: If library is 1.5 then .NET application must be build with .NET 4.6.2 or higher.
  • 22. .NET reference to .NET Core  Add NUGET reference to library from your .NET (Desktop) application.  Checks specified standard  If you add direct reference standard is NOT checked.
  • 23. UWP Reference to .NET Core { "dependencies": { "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2" }, "frameworks": { "uap10.0": {} }, "runtimes": { "win10-arm": {}, "win10-arm-aot": {}, "win10-x86": {}, "win10-x86-aot": {}, "win10-x64": {}, "win10-x64-aot": {} } } Before you add reference to .NET Core Nuget Package your UWP app must have reference to v5.5.2 or higher. With this TFM we know, that this project.json is an Universal Application Platform app.
  • 24. Testing Add following NUGET packages: xunit dotnet-test-xunit Run tests: dotnet test
  • 25. References  https://blogs.msdn.microsoft.com/mvpawardprogram/ 2016/07/19/key-steps-in-developing-net-core- applications/  https://github.com/dotnet/corefx/blob/master/Docum entation/architecture/net-platform-standard.md  https://blogs.msdn.microsoft.com/mvpawardprogram/ 2016/07/19/key-steps-in-developing-net-core- applications/#comment-46395  http://developers.de/blogs/damir_dobric/archive/2016 /09/28/digging-deeper-in-net-core-applications.aspx
  • 26. Ankete Popunite ankete i osvojite vrijedne nagrade! Ankete su dostupne na: a) Mobilnim uređajima (Android, Apple, Windows) b) Web-u http://www.mobilityday.com PIN za pristup se nalazi na poleđini akreditacije i u vašem on-line profilu.
  • 27. CloudAppsCloud CloudConsultingCloudAppsMiddlewareCloudAppsMiddlewareSoftware Damir Dobric damir.dobric@daenet.com b-dadobr@microsoft.com Software Lead Architect Microsoft Most Valuable Professional Software Engineering & Distributed Systems University of Applied Sciences Frankfurt am MainBlog Twitter N24: https://www.youtube.com/watch?v=EG0CPe2uMfM http://daenet.de