Pytania otagowane jako roslyn

Roslyn (aka .NET Compiler Platform) udostępnia kompilatory typu open source C # i Visual Basic z zaawansowanymi interfejsami API do analizy kodu. Umożliwia tworzenie narzędzi do analizy kodu przy użyciu tych samych interfejsów API, które są używane przez program Visual Studio.

30
Nie można znaleźć części ścieżki… bin \ roslyn \ csc.exe
Próbuję uruchomić projekt Asp.net MVC pobrany z kontroli źródła TFS. Dodałem wszystkie odwołania do zestawu i jestem w stanie zbudować i skompilować pomyślnie bez żadnych błędów lub ostrzeżeń. Ale w przeglądarce pojawia się następujący błąd: Nie można znaleźć części ścieżki „C: \ B8akWorkspace \ B8akProject \ B8akSolution \ B8AK.Portal \ …
811 c#  asp.net  .net  asp.net-mvc  roslyn 


3
W jakim języku jest napisany kompilator C #?
Spojrzałem na kod źródłowy pod adresem http://referencesource.microsoft.com/ i okazało się, że cały kod źródłowy jest w C #. Przyjrzałem się również kodowi źródłowemu nowej platformy kompilatora C # ( Roslyn ) i jest on również w języku C #. Jak to możliwe? Czy kompilator języka C # jest napisany w …

5
Kompilacja VS2015 kończy się niepowodzeniem i nie ma komunikatu o błędzie w przypadku wersji dynamicznej
Pisałem test jednostkowy na fragmencie kodu, który zwrócił JSON. Typ, który zwraca, jest typem anonimowym, więc pomyślałem, że aby zweryfikować wartości, po prostu rzuciłem obiekt na a, dynamicaby wykonać moje asercje. Jednak kiedy to robię, moja kompilacja kończy się niepowodzeniem, ale nie mam żadnych komunikatów o błędach. Udało mi się …

7
Funkcje języka C # 6.0 nie działają z programem Visual Studio 2015
Testuję program Visual Studio 2015 z C # 6.0, ale funkcje językowe nie działają. W aplikacji internetowej MVC kompiluje się następujący kod: if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName)) { // More logic here... } Jednak po uruchomieniu aplikacji za pośrednictwem Debug i IIS Express pojawia się następujący błąd: CS1525: Nieprawidłowy termin wyrażenia „.” Jak …

1
Czy Roslyn SyntaxNodes jest ponownie używany?
Przyjrzałem się Roslyn CTP i chociaż rozwiązuje problem podobny do interfejsu API drzewa wyrażeń , oba są niezmienne, ale Roslyn robi to w zupełnie inny sposób: Expressionwęzły nie mają odniesienia do węzła nadrzędnego, są modyfikowane za pomocą ExpressionVisitora, dlatego duże części można ponownie wykorzystać. SyntaxNodeZ drugiej strony Roslyn's ma odniesienie …


4
Microsoft Roslyn kontra CodeDom
Z wczorajszego komunikatu prasowego w InfoWorld dotyczącego nowego Microsoft Roslyn : Najbardziej oczywistą zaletą tego rodzaju „zdekonstruowanego” kompilatora jest to, że umożliwia on wywołanie całego procesu kompilacji i wykonania z poziomu aplikacji .Net. Hejlsberg zademonstrował program C #, który przekazał kilka fragmentów kodu do kompilatora C # w postaci ciągów; …
111 .net  codedom  roslyn 

3
Jak zaktualizować MSBuild do C # 6?
Chcę używać C # 6 w moim projekcie (propagacja wartości null, inne funkcje). Zainstalowałem VS 2015 na moim komputerze i działa świetnie i buduje kod testowy, taki jak var user = new SingleUserModel(); //all model fields are null var test = user.User?.Avatar?["blah"]; Ale kiedy wypycham projekt do repozytorium, a CI …

5
Korzystanie z System.Dynamic w Roslyn
Zmodyfikowałem przykład dołączony do nowej wersji Roslyn, która została wydana wczoraj, aby używać dynamiki i ExpandoObject, ale otrzymuję błąd kompilatora, którego nie jestem pewien, jak naprawić. Błąd: (7,21): błąd CS0656: brak wymaganego elementu członkowskiego kompilatora „Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create” Czy nie możesz jeszcze używać dynamiki w nowym kompilatorze? Jak mogę to naprawić? Oto …
96 c#  roslyn 

4
Roslyn nie mógł skompilować kodu
Po migracji projektu z VS2013 do VS2015 projekt nie jest już kompilowany. Błąd kompilacji występuje w następującej instrukcji LINQ: static void Main(string[] args) { decimal a, b; IEnumerable<dynamic> array = new string[] { "10", "20", "30" }; var result = (from v in array where decimal.TryParse(v, out a) && decimal.TryParse("15", …
95 c#  .net  linq  roslyn 

6
Opublikuj witrynę bez Roslyn
Próbuję utworzyć aplikację internetową przy użyciu programu Visual Studio 2015 i .NET 4.5.1. Kiedy publikuję witrynę, Visual Studio tworzy folder o nazwie roslyn. Wiem, że jest używany do kompilowania kodu w locie, ale niestety mój dostawca hostingu nie pozwala mi na uruchomienie kompilatora na swoim serwerze. Jak opublikować witrynę bez …

2
Dlaczego w Roslyn znajdują się klasy maszyn stanu asynchronicznego (a nie struktury)?
Rozważmy tę bardzo prostą metodę asynchroniczną: static async Task myMethodAsync() { await Task.Delay(500); } Kiedy kompiluję to za pomocą VS2013 (kompilator sprzed Roslyn), wygenerowana maszyna stanu jest strukturą. private struct <myMethodAsync>d__0 : IAsyncStateMachine { ... void IAsyncStateMachine.MoveNext() { ... } } Kiedy kompiluję go z VS2015 (Roslyn), wygenerowany kod wygląda …

3
Przepełnienie C # dla niesprawdzonego uint
Testowałem ten kod na https://dotnetfiddle.net/ : using System; public class Program { const float scale = 64 * 1024; public static void Main() { Console.WriteLine(unchecked((uint)(ulong)(1.2 * scale * scale + 1.5 * scale))); Console.WriteLine(unchecked((uint)(ulong)(scale* scale + 7))); } } Jeśli skompiluję z .NET 4.7.2, dostanę 859091763 7 Ale jeśli robię …
10 c#  .net  overflow  roslyn  uint 

2
Dlaczego otrzymujemy ostrzeżenie o zerowym odwołaniu, gdy odwołanie zerowe wydaje się niemożliwe?
Po przeczytaniu tego pytania na temat HNQ, zacząłem czytać o Nullable Reference Type w C # 8 i przeprowadziłem kilka eksperymentów. Mam świadomość, że 9 razy na 10, a nawet częściej, gdy ktoś mówi: „Znalazłem błąd kompilatora!” dzieje się tak zgodnie z projektem i własnym nieporozumieniem. A ponieważ zacząłem przyglądać …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.