Download - Roslyn DDC Kompakt 2014
Die .NET Compiler Plattform
Roslyn
Christian Giesswein
@giessweinweb
About Me
• Ing. Christian Giesswein, [email protected]
• Gründer von Giesswein-Apps• Individualentwicklung, Consulting und Trainings
• Die bunte Welt von C#/.NET• C#, WCF, WPF, ADO.NET, Entity Framework, ASP.NET..
• OS-Entwicklung (https://github.com/giessweinapps)
• osm2mssql – OpenStreetMap für MS-SQL
• MonoDebugger für Visual Studio
• TfsDashboard
Die Frage des Tages
„Was mache ich als Entwickler damit?“
oder…
„Was mach ich überhaupt hier?“
csc.exe
• csc.exe - CSharpCompiler.exe
• vbc.exe – VisualBasicCompiler.exe
• C:\Windows\Microsoft.NET\Framework64\v4.0.30319
C# / VB.NET CodeCompiler
(csc.exe/vbc.exe)
Common Intermediate
Langue Code (CIL)
Roslyn
• Die neue Compiler-Plattform von Microsoft
• Open-Source https://roslyn.codeplex.com/
• Die Zukunft für uns C# und VB.NET - Entwickler
• C:\Program Files (x86)\MSBuild\14.0\Bin
Open-Source bedeutet…
• Ich geh mit meinem Visual Studio..• … und bau mir mal eben den Compiler von C#
• … studiere wie der Compiler funktioniert
• Microsoft öffnet sich für andere Betriebssysteme: Linux, Mac OS
• „Mono“ profitiert von Roslyn seit Anfang an
• Die Community hat die Möglichkeit Verbesserungen einzubringen und mitzuwirken
C# 6.0 Was kommt auf uns zu?
• Auto-Property Verbesserungen
• Expressions für Properties und Methoden
• Using static
• Null-Conditional Operator
• String Interpolation
• NameOf-Erweiterung
• Index initializers
• Exception Filters
• Await in catch/finally
VB.NET
• Auch VB.NET erhält Verbesserungen
• Roadmap zeigt welche Änderungen wahrscheinlich sind• Roadmap hat sich über das Jahr gesehen recht stark
verschoben
• Schwerpunkt liegt auf C#
• https://roslyn.codeplex.com/wikipage?title=Language%20Feature%20Status&referringTitle=Documentation
Compiler-as-a-service
• „Compiler-as-a-service“• Das gesamte (neuere) Tooling baut auf Roslyn auf
• Codeanalyse mit Roslyn
• http://referencesource.microsoft.com/
• Alles wird NuGet – … warum nicht auch Teile des Compiler?
Compiler-as-a-Service
Installation
• Was brauch ich für eigene Code-Analysen?• Visual Studio 2015 SDK
• Entweder lokal oder in der Cloud
• SDK Templates für Code-Analysen mit Roslyn• https://visualstudiogallery.msdn.microsoft.com/849f3ab1-
05cf-4682-b4af-ef995e2aa1a5
• .NET Compiler Platform Syntax Visualizer• https://visualstudiogallery.msdn.microsoft.com/70e184da-
9b3a-402f-b210-d62a898e2887
Roslyn – Unter der Motorhaube
• Roslyn wurde mit sehr viel Asynchronität und Parallelität versehen:• TPL und async/await
• Um die Synchronisation von Daten zu erleichtern sind alle Datenstrukturen unveränderlich(=immutable).
Eigene Diagnosen und Fehlerbehebungen
• Mit Roslyn wurde die Grundlage geschaffen, dass jeder Entwickler und jedes Entwicklerteam Ihre eigenen Diagnosen implementiert
• Visual Studio spielt dabei Out-Of-The-Box mit
Zusammenfassung
• Mit Roslyn kommt ein Compiler der in C#/VB.Net geschrieben ist
• Wird mit VS 2015 ausgeliefert
• Vollen Einblick in den Quellcode
• Neue Features in den Programmiersprachen
• Eigene Analysen per Roslyn/NuGet möglich
Twitter: @giessweinweb
Email: [email protected]
Web: www.giesswein-apps.at
… oder persönlich :-)
Vielen Dank für Ihre Aufmerksamkeit