dotnetomaniak.pl - Artykuły z tagiem roslyn

This post from Report from the battlefield series will be about my own mistake. It is related to async/await and MARS i.e. Multiple Active Result Sets. async/await allows us to use asynchronous programming more easily. MARS is a feature of MSSQL that allows us to have more than one pending request opened per connection at the same time...

Dziel się z innymi:
Report from the battlefield #9 - async/await + MARS | Michał Komorowski

I'm working on the project where I have an opportunity to use Roslyn compiler as a service. It is very good :) However yesterday it took me more than 2 hours to write working unit tests (based on MSTest) for my code! Here are some tips that may save your time.

Dziel się z innymi:
Roslyn and unit tests suck | Michał Komorowski

Semantyczny model dostarcza nam wiele informacji o kodzie, które zwykle uzyskuje się po kompilacji. Na przykład przeładowanie metod jest dużo łatwiejsze do określenia już po kompilacji.  Oznacza to, że nie jest już to  klasyczna, statyczna analiza kodu. Z tego względu, najpierw danych kod należy skompilować za pomocą...

Tagi: .Net, C#, roslyn
Dziel się z innymi:
Roslyn: Analiza przepływu danych–semantyczny model

Narzędzia 3237 dni, 13 godzin, 9 minut temu rroszczyk 127 źrodło rozwiń

Roslyn to nie tylko parsowanie kodu, ale również zarządzanie projektem\solucją za pomocą WorkspaceAPI. Pisząc różne narzędzia dla programistów, oprócz analizy kodu, zwykle chcemy mieć informacje o kontekście danego kodu – np. nazwie pliku czy projekcie w którym znajduje się dana klasa. Workspace API, jak nie trudno domyślić się, opiera się na abstrakcyjnej klasie Workspace.  Zwykle jednak pracować będziemy z MSBuildWorkspace, która pozwala nam zarządzać .sln czy .csproj:MSBuildWorkspace msWorkspace = M...

Tagi: .Net, C#, roslyn
Dziel się z innymi:
Roslyn: Workspace API

Narzędzia 3237 dni, 13 godzin, 9 minut temu rroszczyk 117 źrodło rozwiń

W poprzednim wpisie przedstawiłem klasę CSharpSyntaxWalker – przydatną przy analizie drzewa kodu. Dzięki niej, automatycznie bez pisania kodu rekurencyjnego jesteśmy w stanie przejść przez każdy element kodu. Dzisiaj o analogicznym rozwiązaniu ale służącym do przepisywania kodu a nie tylko jego analizowania. Mechanizm działa bardzo podobnie do CSharpSyntaxWalker. Wystarczy, że stworzymy klasę dziedziczącą po CSharpSyntaxRewriter:publicclass CustomRewriter : CSharpSyntaxRewriter { publicoverride Synt...

Tagi: .Net, C#, roslyn
Dziel się z innymi:
Roslyn–przepisywanie kodu

Inne 3243 dni, 12 godzin, 19 minut temu rroszczyk 138 źrodło rozwiń

W ostatnim poście pokazałem jak za pomocą LINQ można przeglądać drzewo kodu. Czasami jest to jednak niewygodne. Załóżmy, że piszemy konwerter z C# na jakiś inny język. W takiej sytuacji, prawdopodobnie chcemy mieć dostęp do każdego elementu kodu. Możemy to zrobić za pomocą LINQ, ale jest to mało wygodne. Musielibyśmy pisać kod rekurencyjny, który dla skomplikowanych kodów jest jak wiadomo mało wydajny, a nawet może zakończyć się wyjątkiem OutOfMemory. Do dyspozycji jednak mamy klasę CSharpSyntaxWalker. ...

Dziel się z innymi:
Roslyn – przeglądanie drzewa

Sztuka programowania 3251 dni, 10 godzin, 21 minut temu rroszczyk 129 źrodło rozwiń

Analiza kodu za pomocą LINQ to chyba esencja Roslyn.  Bez Roslyn, kod był dla nas jak zwykły tekst (string) i w przypadku jakiejkolwiek analizy, musieliśmy sami parsować tekst i rozpoznawać odpowiednie fragmenty....

Tagi: .Net, C#, Linq, roslyn
Dziel się z innymi:
Roslyn–analiza kodu za pomocą LINQ

Web 3251 dni, 10 godzin, 21 minut temu rroszczyk 238 źrodło rozwiń

W poprzednim wpisie, w dużym skrócie przedstawiłem po co powstał Roslyn i komu może przydać się. W kilku kolejnych postach, zaprezentuję w praktyce jego najważniejsze funkcje. Zaczynami od scripting API.  APi szczególnie przydatne w przypadku edytorów do gier czy bardziej zaawansowanych reguł biznesowych. Zacznijmy od klasycznego “hello world”...

Tagi: .Net, C#, roslyn
Dziel się z innymi:
Roslyn – Scripting API

Narzędzia 3256 dni, 2 minuty temu rroszczyk 138 źrodło rozwiń

O projekcie Roslyn od dawna już słychać, ale jeszcze nigdy nie miałem okazji z niego poważnie korzystać, ani wspomnieć o tym na blogu. Czym jest więc Roslyn? W skrócie pisząc jest to “compiler as service”. Roslyn dostarcza API za pomocą, którego możemy komunikować się kompilatorem.  Możemy zatem pisać programy, które rozpoznają kod (C#) i mogą go dynamicznie wykonywać. Innymi słowy, dzięki Roslyn jesteśmy w stanie załadować kod w formie czystego tekstu i w pamięci analizować go  już jako strukturę dany...

Tagi: .Net, roslyn
Dziel się z innymi:
Roslyn – wprowadzanie

Narzędzia 3258 dni, 9 godzin, 38 minut temu rroszczyk 321 źrodło rozwiń

Wraz z pojawieniem się Roslyn, powstaje wiele interesujących narzędzi. Jednym z nich jest Alive, zachęcam do obejrzenia tego video: https://youtu.be/YipNsoTapho W skrócie – pozwala wykonywać kod w tle, co oznacza, że wiele błędów będziemy w stanie wykrywać na etapie design a nie runtime. Bardzo przypomina nCrunch, ale jeszcze bardziej usprawnia ten proces…

Dziel się z innymi:
Visual Studio Alive

Narzędzia 3287 dni, 5 godzin, 33 minuty temu rroszczyk 380 źrodło rozwiń

Od pierwszego CTP Roslyna z niecierpliwością czekam na release. W telegraficznym skrócie roslyn to nowa generacja kompilatora. Takiego kompilatora gdzie każdy element jest dostępny przez api/serwis. To otwiera takie możliwości jak budowa własnych narzędzi do refaktoryzacji czy analizy kodu, tworzenie nowych słów kluczowych i nie wiadomo co jeszcze. Przy okazji kompilator jest przepisywany tak aby był szybszy od obecnych. Generalnie Roslyn = mnóstwo gorących i ciekawych rzeczy. Dzisiaj, a w...

Źródło: www.benedykt.net
Dziel się z innymi:
Roslyn ostatnia prosta

Narzędzia 3809 dni, 13 godzin, 23 minuty temu arek 206 źrodło rozwiń

SyntaxWalker służy do rekursywnego odwiedzania wszystkich węzłów drzewa składni. Za pomocą SyntaxWalker można zbadać/odczytać strukturę kodu: using System; using System.Collections.Generic; using System.Linq; using Roslyn.Compilers.CSharp; namespace GettingStartedCS { class SyntaxWalkerTest { private static string source = @" using System; using System.Collections; using System.Linq; using System.Text;   ...

Tagi: roslyn
Dziel się z innymi:
RoslynCTP: SyntaxWalker

Narzędzia 4582 dni, 4 godziny, 50 minut temu macko 84 źrodło rozwiń

Co należy zrobić, by pobawić się Roslyn syntax visualizer: Pobrać i zainstalować RoslynCTP http://www.microsoft.com/download/en/details.aspx?id=27746, Start -> Microsoft Codename Roslyn CTP -> Getting Started, Otworzyć i uruchomić (F5) solucję Syntax Visualizer Extension, W nowej instancji, która się otworzy Visual Studio wybrać Edit -> Other Windows -> Roslyn Syntax Visualizer, Stworzyć dowolny nowy projekt, na przykład aplikację konsolową, Teraz można podglądać drzewo składni p...

Tagi: roslyn
Dziel się z innymi:
RoslynCTP: syntax visualizer

Narzędzia 4589 dni, 17 godzin, 53 minuty temu macko 180 źrodło rozwiń

Wiele osób zna zapewne CodeDOM – bibliotekę, która pozwala generować kod źródłowy przez budowanie go z „klocków” opisujących każdy element kodu: deklarację metody, przypisanie wartości do zmiennej, itp. Nie dało się jednak w łatwy sposób wykonać operacji odwrotnej, tj. zamiany tekstu na drzewo obiektów, które można by łatwo i wygodnie analizować. Problem ten doprowadził to powstania kilku parserów kodu napisanego w C# – na potrzeby kompilatora, środowiska...

Dziel się z innymi:
Roslyn CTP « Novakov's blog

Narzędzia 4596 dni, 21 godzin, 43 minuty temu Novakov 203 źrodło rozwiń

1 2