Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Obsługiwana wersja programu Visual Studio 2017 to wersja 15.9.
Ważne
Nie jest to najnowsza wersja programu Visual Studio. Aby pobrać najnowszą wersję, odwiedź stronę https://visualstudio.microsoft.com/downloads/ i zapoznaj się z informacjami o wersji programu Visual Studio 2022.
Visual Studio Blog
Blog programu Visual Studio jest oficjalnym źródłem szczegółowych informacji o produkcie od zespołu inżynierów programu Visual Studio. Szczegółowe informacje o wersjach programu Visual Studio 2017 w wersji 15.8 można znaleźć w następujących wpisach:
- Visual Studio 2017 w wersji 15.8 -- Przeczytaj najnowszy wpis w blogu!
Wydania programu Visual Studio 2017 w wersji 15.8
- 2 listopada 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.9
- 24 października 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.8
- 10 października 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.7
- 2 października 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.6
- 20 września 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.5
- 11 września 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.4
- 6 września 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.3
- 28 sierpnia 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.2
- 17 sierpnia 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.1
- 14 sierpnia 2018 r. — wydanie pomocnicze programu Visual Studio 2017 w wersji 15.8
Ważne
Powiadomienia o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.8
- 10 października 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.7
- 11 września 2018 r. — aktualizacja obsługi programu Visual Studio 2017 w wersji 15.8.4
- 14 sierpnia 2018 r. — Visual Studio 2017 w wersji 15.8
- 10 lipca 2018 r. — Visual Studio 2017 w wersji 15.8 (wersja zapoznawcza 4)
- 26 czerwca 2018 r. — Visual Studio 2017 w wersji 15.8 (wersja zapoznawcza 3)
- 8 maja 2018 r. — Visual Studio 2017 w wersji 15.8 (wersja zapoznawcza 1)
Podsumowanie godnych uwagi nowych funkcji w wersji 15.8
- Instalator oferuje teraz opcję pobrania wszystkich plików przed rozpoczęciem instalacji.
- Poprawiliśmy wydajność podczas zwalniania/ponownego ładowania projektu i przełączania gałęzi.
- Czas ładowania rozwiązania można poprawić, wyłączając automatyczne przywracanie dokumentów.
- Wprowadziliśmy znaczne ulepszenia wydajności testów podczas uruchamiania dużych rozwiązań z wieloma projektami testowymi.
- Visual Basic zapewnia teraz znaczną poprawę wydajności.
- Profilowanie wydajności umożliwia teraz wstrzymywanie/wznawianie zbierania danych i dodanie nowego narzędzia śledzenia alokacji obiektów platformy .NET.
- Wprowadziliśmy ulepszenia narzędzia Użycie procesora CPU na potrzeby profilowania wydajności.
- Dodaliśmy nowe funkcje zwiększające produktywność , takie jak oczyszczanie kodu, refaktoryzacja odwróć, przechodzenie do otaczającego bloku, obsługa wielu karetki i nowe profile klawiatury.
- Możesz wybrać wystąpienie docelowe podczas debugowania rozszerzeń.
- Uruchom debuger migawki bezpośrednio ze strony podsumowania publikowania.
-
Wprowadziliśmy język F# 4.5, nową wersję języka, która w pełni obsługuje
Span<'T>i zawiera znaczące ulepszenia śledzenia stosu dla kodu asynchronicznego. - Poprawiliśmy wydajność i dodaliśmy nowe funkcje w narzędziach języka F#, takich jak Ctrl+Kliknij, aby przejść do definicji.
- Ulepszenia zestawu narzędzi języka C++ obejmują ulepszenia optymalizatora SSA i konsolidatora.
- Dodatki do programowania międzyplatformowego języka C++ obejmują aktualizacje ClangFormat oraz szablony konfiguracji w narzędziach CMake i Open Folder dla aplikacji MinGW, Linux i Windows.
- Zmiany produktywności języka C++ obejmują funkcję IntelliSense szablonów, etykietki narzędzi Szybkich informacji w makrach, konwersję na żarówki constexpr, zwiotniki analizy kodu w edytorze i inne.
- Ulepszenia debugowania języka C++ obejmują aktualizacje just my code i nowe punkty przerwania danych.
- Istnieje wiele ulepszeń i funkcji języka JavaScript i TypeScript .
- Teraz możesz zarządzać bibliotekami po stronie klienta w projektach internetowych.
- Dodaliśmy nowe środowisko kontenera platformy Docker pojedynczego projektu dla projektów internetowych platformy ASP.NET Core.
- Teraz możesz dostosować tag obrazu platformy Docker przy użyciu ulepszeń publikowania w tej wersji.
- Ulepszenia platformy Xamarin obejmują obsługę kompilacji przyrostowych środowiska Xcode 9.4 i inteligentniejszego systemu Android.
- Emulator systemu Android firmy Google można używać równolegle z funkcją Hyper-V w systemie Windows 10 kwietnia 2018 Update.
- Dodaliśmy edytor widoku podzielonego dla projektanta platformy Xamarin.Android.
- Program podglądu platformy Xamarin.Forms ma teraz obsługę przybornika i przenieśliśmy go do edytora widoku podzielonego.
- Teraz możesz używać debugowania między językami za pomocą języka Python 3.7.0rc1.
- W obszarze Migrowanie lokalnych ustawień funkcji platformy Azure na platformę Azure są teraz wyświetlane nowe wartości.
- Dzięki dodaniu obsługi usługi Azure Functions masz teraz nowego hosta docelowego w oknie dialogowym Konfigurowanie ciągłego dostarczania na platformie Azure.
- Ulepszenia okienka podsumowania Eksploratora testów zapewniają teraz bardziej informacyjny stan testu.
- Rozszerzenia adaptera testowego platformy .NET: zmiana powodująca niezgodność i wycofanie.
- Dodaliśmy natywną obsługę protokołu Language Server Protocol.
- Masz teraz obsługę wpisów tajnych dla projektów platformy .NET Framework ASP.NET.
- Program Visual Studio ułatwia teraz uaktualnianie ASP.NET aplikacji .NET Framework w celu zwiększenia wydajności kompilacji.
- Program Visual Studio oferuje teraz narzędzia programistyczne .NET Framework 4.7.2 do obsługiwanych platform z dołączonym środowiskiem uruchomieniowym w wersji 4.7.2.
- Pakiety automatycznego ładowania asynchronicznego są opóźnione do momentu ukończenia uruchamiania i ładowania rozwiązania.
- Narzędzia Build Tools Visual Studio 2017 obsługują teraz przepływ pracy i zawiera zestaw VSSDK.
- Stan usług Git i TFS jest teraz poprawnie aktualizowany pod kątem zmian plików zewnętrznych w projektach platformy .NET Core.
- Dołączony jest zestaw .NET Core SDK 2.1.400.
Najważniejsze problemy rozwiązane w wersji 15.8
Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.8:
- Narzędzia SSDT nie istnieją w programie Visual Studio Build Tools 2017.
- Program Anaconda nie może odinstalować podczas uaktualniania (błąd 87).
- Uaktualnienie do wersji 15.7 generuje błąd: PackageId:Anaconda3.Exe.x64; PackageAction:Uninstall; ReturnCode:87;.
- Aktualizacja programu Visual Studio generuje błędy BuildError platformy UWP na stronie MakePri 0x80073b0f i błędy 0xdef00532 w moim rozwiązaniu.
- Program VS 2017 ma problemy z funkcją szablonu eksportu ASP.NET Core.
- Eksplorator testów (testy SpecFlow): przechodzi do pliku klasy funkcji, a nie do pliku funkcji.
- Szablon projektu wyeksportowany z projektu C++ zawiera tylko pliki vcxproj i vcxproj.filters, bez źródła ani nagłówków.
- Nieprawidłowe generowanie kodu w systemie x64.
- Kliknij prawym przyciskiem myszy menu kontekstowe w folderze rozwiązania nic nie robi w wersji Enterprise 15.8 (wersja zapoznawcza 2).
- Program VS2017 nie pamięta położenia i rozmiaru ekranu do użycia na 3 monitorach.
- UtF8-no-BOM powoduje, że okno różnic wyświetla błędne ostrzeżenie dotyczące kodowania.
- Dwukrotne kliknięcie wyrazu wybiera tylko początek wyrazu, a nie całego wyrazu.
- Program VS2015 i VS2017 tworzą pusty folder Debug w ścieżce zdefiniowanej przez $(SolutionDir) pomimo wartości $(OutDir) i $(IntDir) przy użyciu zupełnie innych ustawień.
- Jeśli tworzysz projekt oparty na oknach dialogowych MFC w środowisku japońskim przy użyciu programu VS2017, edytowanie okna dialogowego spowoduje błędy w kompilacji.
- Wyświetl tekst postępu pobierania w Instalatorze programu Visual Studio.
- Kliknij prawym przyciskiem myszy projekt wykonywalny w Eksploratorze rozwiązań —> Debugowanie —> uruchamianie nowego wystąpienia wybiera losowy projekt z rozwiązania do uruchomienia.
- Kompilacja wiersza polecenia DEVENV kończy się niepowodzeniem z: ta operacja może odbywać się tylko w wątku interfejsu użytkownika.
- Znajdź i zamień zapamiętuje typy plików.
- Komunikaty o błędach są nieczytelne w konsoli menedżera pakietów ze względu na kolor czcionki i kolor tła.
- Wersja zapoznawcza publikowania w sieci Web programu Visual Studio Community 2017 15.4.1 kończy się niepowodzeniem z brakiem autoryzacji.
- Otwórz wyniki testu w programie VS 2017 dla kompilacji XAML.
Zobacz wszystkie problemy zgłaszane przez klientów rozwiązane w programie Visual Studio 2017 w wersji 15.8.
Szczegóły nowości w wersji 15.8
informacji o wersjiVisual Studio 2017 w wersji 15.8.0
wydany 14 sierpnia 2018 r.
Nowe funkcje w wersji 15.8
Install
Teraz masz możliwość pobrania wszystkich plików instalacyjnych przed rozpoczęciem instalacji.
- Aby użyć tej nowej opcji, wybierz opcję "Pobierz wszystko, a następnie zainstaluj" w instalatorze (Rysunek 1). Sugerujemy tę opcję, jeśli masz wolniejsze połączenie internetowe.
- Opcja domyślna pozostaje "Zainstaluj podczas pobierania", która pobiera i instaluje się równolegle.
Performance
Ta wersja zawiera następujące ulepszenia wydajności:
- Przełączanie gałęzi dla projektów C#, VB i C++ jest znacznie szybsze w przypadku dużych rozwiązań, ponieważ ponowne ładowanie rozwiązań nie jest już wymagane.
- Skróciliśmy czas zwalniania i ponownego ładowania małego zestawu projektów C# i VB w dużych rozwiązaniach od kilku minut do kilku sekund.
- Dodaliśmy opcję wyłączenia ponownego otwierania dokumentów, które były otwarte w poprzedniej sesji, ponieważ ponowne otwieranie niektórych typów plików lub projektantów może opóźnić ładowanie rozwiązania.
- Przełącz tę opcję w obszarze Narzędzia > Opcje > Projekty > Rozwiązania > ogólne.
Wydajność testu
Znacznie poprawiliśmy wydajność podczas uruchamiania kilku testów w dużym rozwiązaniu z wieloma projektami testowymi. W naszych laboratoriach rozwiązanie z ponad 10 000 MSTests wykonało pojedynczy test do 82% szybciej!
Poprawa wydajności języka Visual Basic
Visual Basic zapewnia teraz znaczną poprawę wydajności podczas używania wzorca CInt(Fix(number)) do konwertowania z typów innych niż liczba całkowita do liczb całkowitych.
Profilowanie wydajności
Ta wersja zawiera następujące ulepszenia profilowania wydajności:
Dodaliśmy możliwość rozpoczęcia profilowania w stanie wstrzymania:
Narzędzie Użycie procesora CPU w profilerze wydajności (ALT-F2) można teraz uruchomić w stanie wstrzymania (Rysunek 2). Może to być przydatne podczas oczekiwania na scenariusz godny badania użycia procesora CPU. Jeśli zbieranie użycia procesora CPU jest wyłączone podczas uruchamiania, profiler wydajności nie będzie zbierał żadnych danych przykładowych stosu użycia procesora CPU, dopóki nie zostanie on specjalnie włączony. Spowoduje to zmniejszenie ilości danych do zbierania i analizowania, dzięki czemu badania wydajności będą wydajniejsze.
Aby rozpocząć sesję z wyłączoną kolekcją przykładu Użycie procesora CPU, kliknij ikonę koła zębatego obok pozycji Użycie procesora CPU na stronie uruchamiania profilera wydajności. Na stronie właściwości Użycie procesora CPU usuń zaznaczenie pola wyboru Włącz profilowanie procesora CPU (próbkowanie) i kliknij przycisk OK , aby zapisać ustawienia.
(Rysunek 2) Ustawienia narzędzia Użycie procesora CPU Po uruchomieniu aplikacji docelowej (kliknij przycisk Start na stronie uruchamiania profilera wydajności), zostanie wyświetlony wykres wykorzystania procesora CPU (Rysunek 3), który umożliwia kontrolowanie profilowania procesora CPU. Aby włączyć zbieranie danych stosu użycia procesora CPU, wybierz pozycję Włącz profilowanie procesora CPU w środku widoku lub kliknij pozycję Zarejestruj profil procesora CPU tuż poniżej wykresu wykorzystania procesora CPU. Możesz kliknąć pozycję Zarejestruj profil procesora CPU , aby włączyć/wyłączyć zbieranie przykładowych danych tyle razy, ile chcesz. Kolor grafu wykorzystania procesora CPU zmienia się, aby wskazać, czy przykładowa kolekcja jest włączona/wyłączona w tym momencie.
(Rysunek 3) Wykres wykorzystania procesora CPU
Dodaliśmy narzędzie do śledzenia alokacji obiektów platformy .NET:
- Narzędzie do śledzenia alokacji obiektów platformy .NET dołącza do rodziny narzędzi dostępnych w profilerze wydajności. Wywołanie tego narzędzia dla sesji profilera wydajności inicjuje kolekcję śledzenia stosu dla każdej alokacji obiektów platformy .NET, która występuje w aplikacji docelowej. Te dane stosu są analizowane wraz z informacjami o typie obiektu i rozmiarze, aby wyświetlić szczegółowe informacje o aktywności pamięci aplikacji. Możesz szybko określić wzorce alokacji w kodzie i zidentyfikować anomalie. Ponadto w przypadku zdarzeń odzyskiwania pamięci (GC) można łatwo określić, które obiekty zostały zebrane i zachowane i szybko zidentyfikować typy obiektów, które dominują w użyciu pamięci aplikacji.
- Jest to szczególnie przydatne w przypadku składników zapisywania interfejsu API w celu zminimalizowania alokacji. Wiele aplikacji spowoduje przekroczenie limitów buforu związanych z zbieraniem danych diagnostycznych, ale małe aplikacje testowe wykonujące kluczowe scenariusze interfejsu API mogą być dość dobrze diagnozowane. Podczas wykonywania aplikacji testowej profiler wydajności wyświetla graf liniowy obiektów dynamicznych (liczba), a także wykres słupkowy delta obiektu (% zmiany).
- Aby użyć narzędzia do śledzenia alokacji obiektów platformy .NET, wyświetl stronę uruchamiania profilera wydajności (Rysunek 4), wybierz element docelowy do profilu (domyślnym elementem docelowym jest projekt startowy w rozwiązaniu), zaznacz pozycję Śledzenie alokacji obiektów platformy .NET w obszarze Dostępne narzędzia, a następnie kliknij przycisk Start.
(Rysunek 4) Strona uruchamiania profilera wydajności
Profilowanie wydajności (użycie procesora CPU)
Ta wersja zawiera następujące ulepszenia narzędzia Użycie procesora CPU profilera wydajności (dostępne za pośrednictwem alt-F2):
- Widok Drzewo wywołań domyślnie wyświetla asynchroniczne wykonywanie według stosu wywołań logicznych. To zachowanie można wyłączyć, usuwając zaznaczenie opcji Połącz kod asynchroniczny na liście rozwijanej Filtr w widoku głównym Użycie procesora CPU.
- Dodaliśmy widok Moduły/Funkcje, który wyświetla informacje o wydajności według modułu (dll) i funkcji w module. Widok Moduły/funkcje można wyświetlić z menu kontekstowego dostępnego podczas wybierania funkcji w widoku głównym Użycie procesora CPU lub z listy rozwijanej Widok w widokach Drzewo wywołań lub Wywołujący/Wywoływany.
- Wskazanie wystąpienia zostało dodane do grafu Użycie procesora CPU w widoku głównym narzędzia Użycie procesora CPU. Możesz wyświetlić wystąpienia, gdy funkcja jest wykonywana (na przykład na stosie), klikając dwukrotnie funkcję wymienioną w dowolnych widokach użycia procesora CPU.
Produktywność
Ta wersja zawiera następujące ulepszenia produktywności:
- Możesz wykonać dodatkowe oczyszczanie kodu za pomocą Format dokumentu (Ctrl + K, D lub Ctrl + E, D) na potrzeby programowania w języku C#. Skonfiguruj oczyszczanie, przechodząc do pozycji Narzędzia>Opcje>Edytor> tekstówC#>Formatowanie>stylu> koduOgólne.
- Dodaliśmy więcej refaktoryzacji i szybkich akcji za pomocą kombinacji Ctrl + . lub Alt + Enter:
-
Odwróć jeśli umożliwia odwrócenie logiki w instrukcjach if-else. Umieść kursor w słowie
ifkluczowym, aby wyzwolić tę refaktoryzację. - Dodanie parametru z metody callsite umożliwia dodanie parametru do metody przez dodanie argumentu do metody wywołania lokacji i wyzwalanie szybkich akcji i refaktoryzacji.
-
Usuń niepotrzebne nawiasy usuwa nawiasy wokół operatorów binarnych, które nie są niezbędne do kompilacji. Tę regułę stylu można skonfigurować za pomocą opcji Narzędzia>Edytor>>C#>Styl> koduOgólne lub .editorconfig:
dotnet_style_parentheses_in_arithmetic_binary_operatorsdotnet_style_parentheses_in_relational_binary_operatorsdotnet_style_parentheses_in_other_binary_operatorsdotnet_style_parentheses_in_other_operators
-
Użyjternary warunkowe w przypisań i instrukcji zwrotnych można również skonfigurować jako regułę stylu wOpcje>narzędzi>... lub za pomocą pliku editorconfig:
dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_return
-
Odwróć jeśli umożliwia odwrócenie logiki w instrukcjach if-else. Umieść kursor w słowie
- Dodaliśmy nowe polecenia i ulepszenia okna Przejdź do wszystkich :
- Przejdź do bloku otaczającego (Ctrl + Alt + UpArrow) umożliwia szybkie przechodzenie do początku otaczającego bloku kodu.
- Przejdź do następnego/poprzedniego problemu (Alt + PgUp/PgDn) umożliwia przejście do następnego/poprzedniego problemu (błąd, zyggle, żarówka).
- Przejdź do elementu członkowskiego (Ctrl + T, M) ma teraz zakres do pliku domyślnie. Możesz zmienić domyślne ustawienie z powrotem na rozwiązanie, przełączając pozycję Zakres na Bieżący dokument (Ctrl + Alt + C).
- Teraz można tworzyć punkty wstawiania i zaznaczenia w wielu, dowolnych lokalizacjach w pliku z obsługą wielu karetki. Dzięki temu można dodawać, edytować lub usuwać tekst w wielu miejscach jednocześnie.
- Wstaw daszki za pomocą Ctrl + Alt + LeftMouseClick.
- Dodaj zaznaczenie i daszek w następnej lokalizacji, która pasuje do bieżącego zaznaczenia za pomocą Shift + Alt + Ins.
- Zobacz Edytowanie > wielu karetki , aby uzyskać pełną listę akcji.
- Uzyskaj dostęp do menu nawigacji kontekstowej za pomocą Alt + '.
- Zachowaj spójność powiązania z dwoma nowymi profilami klawiatury: Visual Studio Code i ReSharper (Visual Studio). Te schematy można znaleźć w obszarze Narzędzia > Opcje >> Środowisko Klawiatura i górne menu rozwijane.
Debugowanie
Ta wersja zawiera następujące ulepszenia debugowania:
Jeśli masz zainstalowane więcej niż jedno wystąpienie programu Visual Studio 2017, możesz teraz wybrać wystąpienie, do którego ma zostać wdrożone rozszerzenie podczas debugowania (Rysunek 5). W ten sposób można na przykład opracowywać zawartość w kanale wydania programu Visual Studio podczas debugowania w kanale w wersji zapoznawczej.
(Rysunek 5) Wybieranie wystąpienia debugowania Teraz możesz dołączyć debuger migawki bezpośrednio ze strony Podsumowanie publikowania (Rysunek 6).
(Rysunek 6) Dołączanie debugera migawek z podsumowania publikowania Teraz obsługujemy wyświetlanie zadań zarządzanych za pośrednictwem okna Zadania podczas debugowania minidumps ze stertą.
Narzędzia dla deweloperów uniwersalnej platformy systemu Windows
Wprowadziliśmy wiele ważnych ulepszeń projektanta XAML dla projektów przeznaczonych dla platformy uniwersalnej systemu Windows z docelową wersją platformy windows 10 Fall Creators Update (kompilacja 16299) lub nowszą. Te ulepszenia obejmują:
- Teraz możesz edytować kolekcje w Inspektorze właściwości.
- Projektant umożliwia teraz edytowanie szablonów i stylów, w tym w przypadku, gdy definicje dla tych jednostek są zdefiniowane w innych dokumentach.
- Właściwości typu IconElement (np. Icon in an AppBarButton) mają teraz edytor niestandardowy w Inspektorze właściwości, co ułatwia ustawianie tych właściwości.
- Projektant, edytor i Edytuj i Kontynuuj powinny teraz działać poprawnie z trybem x:DefaultBindMode.
- Środowisko programu Visual State Manager w programie Blend obsługuje teraz funkcję AdaptiveTrigger.
Narzędzia F# 4.5 i F# Tools for Visual Studio
W tej wersji wprowadziliśmy język F# w wersji 4.5. Odpowiada to również nowej rodzinie 4.5.x biblioteki FSharp.Core (podstawowej biblioteki języka F#). Specyfikacje dla każdego z tych zmian można odczytać w repozytorium RFC języka F#. Istnieje również wiele ulepszeń narzędzi języka F# dla programu Visual Studio w tej wersji.
F# 4.5
Oto niektóre najważniejsze informacje dotyczące języka F# w wersji 4.5:
Obsługa funkcji Span'T<>
Zaimplementowaliśmy Span<'T> i powiązane funkcje, aby efektywne użycie i produkcja interfejsów API przy użyciu konstrukcji , Spani Memory-like były możliwe w refjęzyku F#. Funkcje tego typu obejmują:
- Nowy
voidptrtyp. - Nowe
NativePtr.ofVoidPtrfunkcje iNativePtr.toVoidPtrw języku FSharp.Core. - Nowe typy
inref<'T>ioutref<'T>, które są odpowiednio byrefs tylko do odczytu i byrefs tylko do zapisu.in refOdpowiada to iout refw języku C#. - Możliwość tworzenia
ByRefLikestruktur (takich jakSpaniReadOnlySpan). - Możliwość tworzenia
IsReadOnlystruktur. - Niejawne wyłusczenie
byrefwartości - iinref-zwraca z metod. - Możliwość tworzenia składowych rozszerzeń w systemie
byref/inref/outref.
Ten zestaw funkcji naprawia usterkę w początkowym projekcie parametru byref-return w języku F# 4.1, gdzie funkcje, metody i właściwości zwracające byrefwartość nie były niejawnie wyłuszające wartość zwracaną. Wprowadzamy tę zmianę w celu dostosowania funkcji do sposobu, w jaki język C# obsługuje reffunkcję -returns. Komunikat o błędzie jest używany, gdy adnotacja typu wskazuje, że jest teraz używane niejawne wyłudzenie ref- zwracania.
Ponadto ten zestaw funkcji naprawia również usterkę w kompilatorze języka F#, w którym możliwe było zastąpienie struktury zła; tj. wywołanie metody w strukturę języka F# może zastąpić rzeczywistą strukturę, która została wywołana za pomocą innej. Parametr this w struktury jest teraz uważany za inref<MyStruct>element z błędem, który sugeruje dodanie pola modyfikowalnego, jeśli chcesz zmodyfikować strukturę.
Więcej informacji na temat span konstrukcji podobnych do i refmożna znaleźć w specyfikacji RFC dla tego zestawu funkcji.
Zapałka! w wyrażeniach obliczeniowych
W języku F# 4.5 wprowadzono match!, nowe słowo kluczowe do użycia w wyrażeniach obliczeniowych, w całości opracowane przez Johna Wostenberga. Ten cukier składniowy jest odpowiednikiem let!match wyniku. Więcej informacji można dowiedzieć się w temacie RFC for match!.
Złagodzenie potrzeby upcast yield z użyciem wyrażeń sekwencjonowania, listy i tablicy
Język F# 4.5 teraz zrelaksuje niektóre przypadki, w których emisja upcast podczas używania yield była wymagana do przekonwertowania podtypu na supertyp. To ograniczenie nie było już konieczne dla tych wyrażeń, ponieważ język F# 3.1 nie jest używanyyield, więc sprawia to, że elementy są bardziej spójne z istniejącym zachowaniem. Więcej informacji można znaleźć w specyfikacji RFC dla tej funkcji.
Zezwalanie na wcięcie w nawiasach listy i tablicy
Język F# 4.5 teraz zrelaksuje regułę wcięcia dla nawiasów list i tablic, które wymagały, aby były wcięcie jednego zakresu do przodu, gdy znajdują się one we własnym wierszu. To poprzednie wymaganie zawsze było dość mylące, zwłaszcza dla początkujących w języku F#. Ponadto nie jest wymagane w przypadku wyrażeń sekwencji języka F#. Spowoduje to teraz przeniesienie wyrażeń tablic i list do tego samego stanu spójności co wyrażenia sekwencji. Więcej informacji można znaleźć w specyfikacji RFC dla tej funkcji.
Przypadki wyliczenia emitowane jako publiczne
Język F# 4.5 emituje teraz przypadki wyliczenia jako publiczne we wszystkich okolicznościach, aby dopasować je do sposobu, w jaki język C# emituje przypadki wyliczenia. Ułatwia to również profilowanie narzędzi do analizowania dzienników z kodu języka F#, gdzie emitowana była wartość zamiast nazwy etykiety. Więcej informacji można znaleźć w specyfikacji RFC dla tej funkcji.
Ulepszenia kompilatora języka F#
Ulepszenia kompilatora języka F# oprócz wymienionych wcześniej funkcji językowych znajdują się w języku F# 4.5. Są to:
- Poprawiliśmy wydajność kompilatora, usuwając do 2,2% wszystkich alokacji w kompilatorze języka F# (w różnych scenariuszach).
- Usunęliśmy usterkę powodującą użycie
AccessViolatioNExceptionfunkcjiyield!z wyliczeniami opartymi na strukturach. - Teraz można dziedziczyć z
FSharpFuncpowrotem. - Wywołania tail są domyślnie wyłączone dla kompilacji debugowania języka F# dla platformy .NET Core. Są one włączone do wydania, dlatego pasują do kompilatora języka F# dla komputerów stacjonarnych.
- Naprawiono normalizację odwołań języka F#, aby umożliwić kontrolowanie odwołań zestawów przechodnich zapisanych w pliku wyjściowym. Dzięki temu można wykonać odpowiednik przekierowania zestawu na platformie .NET Core.
- Usunęliśmy usterkę polegającą na tym, że komunikat o błędzie używany podczas próby użycia wywołania dynamicznego w funkcjach wbudowanych był ignorowany. Komunikat o błędzie jest teraz propagowany.
- Język F# uwzględnia teraz flagę
WarningsNotAsErrors, którą można ustawić w plikach projektu. - Gdy gałęzie dopasowania wzorca nie zwracają tego samego warunku typu komunikatu o błędzie, został zaktualizowany tak, aby był bardziej przyjazny przez Isaac Abraham.
- Usterka błędu wewnętrznego podczas kompilowania implementacji interfejsu, która nie zawiera przeciążonej implementacji metody, została usunięta przez Steffena Forkmanna.
- Niektóre niepotrzebne kopiowanie tablic w fazie leksykowania kompilatora zostało usunięte przez Gauthiera Segaya.
- Niekompletne dopasowania wzorca w wyliczeniach języka F# generują teraz szczegółowe ostrzeżenie, które daje przykład nieuwzroczonego przypadku( współautor John Wostenberg).
- "#nowarn "2003" jest teraz szanowany, przyczynił się Matthias Diitrich.
- Usunięto usterkę polegającą na tym, że korzystanie z metod rozszerzeń języka C# mogło zakończyć się niepowodzeniem w rozwiązywaniu przeciążeń języka F# przez Steffena Forkmanna.
- Naprawiono wewnętrzną usterkę struktury danych QueueList przez Steffena Forkmanna.
- Różne mniejsze optymalizacje i działania oczyszczania kodu zostały przyczyniły się przez Steffen Forkmann, Eugene Auduchinok i ncave.
Podstawowa biblioteka języka F# 4.5.x
Dostępne są teraz następujące dodatki do biblioteki podstawowej języka F#:
- Wykonano znaczącą pracę w celu ulepszenia śladów stosu dla
async { }wyrażeń obliczeniowych. Teraz powinien być widoczny kod użytkownika i numery wierszy użytkownika w śladach stosu. Więcej informacji można znaleźć w specyfikacji RFC dla tej funkcji. -
FuncConvert.FromFuncinterfejsy API tego typuFuncConvert.FromActioniSystem.FuncSystem.Actionprzeciążenia, które ułatwiają współdziałanie z językiem C#. Więcej informacji można znaleźć w specyfikacji RFC dla tej funkcji. -
ValueOptionto nowy typ dostępny, który jest pierwszym w zestawie przyszłych funkcji, które ostatecznie mają na celu lepszą wydajność dla aktywnych wzorców. Więcej informacji można znaleźć w specyfikacji RFC dla tej funkcji. -
TryGetValuejest teraz nowym elementem członkowskim w typie mapy języka F#. Więcej informacji można znaleźć w specyfikacji RFC dla tej funkcji. - Naprawiono wysokie użycie procesora CPU podczas pierwszego wywołania
MailboxProcessor.TryReceiveklasy . - Porównanie dla
boolteraz używa szybkiego porównania ogólnego, współautor : Vasily Kirichenko. - Tekst podsumowania dla
Array.allPairselementu został zaktualizowany, aby był poprawny, współautor : Patrick McDonald
Ulepszenia narzędzi języka F#
W tej wersji uwzględniono znaczące ulepszenia narzędzi języka F#, takie jak ulepszenia wydajności i niektóre nowe funkcje edytora. Tak jak zawsze, z dużą liczbą wkładów ze społeczności open source języka F#. Oto najważniejsze informacje:
- Poprawiliśmy wydajność funkcji IntelliSense dla projektów w stylu zestawu SDK platformy .NET dla wszystkich formularzy, w tym tych, które korzystają z wielu elementów docelowych.
- Wysiłki społeczności związane z analizowaniem i ulepszaniem wydajności funkcji IntelliSense dla bardzo dużych plików zostały przyczyniły się vasily Kirichenko, Steffen Forkmann i Gauthier Segay. Funkcja IntelliSense w bardzo dużych plikach (10 tys. wierszy kodu) jest teraz mniej więcej dwa razy większa.
- Ostrzeżenie dotyczące nieaktualnej biblioteki FSharp.Core (pomimo zainstalowania pakietu) nie jest już obecne w projektach w stylu zestawu SDK platformy .NET.
- Etykietka narzędzia opisu, która wyświetla dokumentację XML dla elementu członkowskiego po
.funkcji IntelliSense, nie przekracza już limitu czasu po 10 sekundach. - Usunięto usterkę polegającą na tym, że nie można było ustawić punktów przerwania w argumentach konstruktora obiektu.
- Usunięto usterkę polegającą na tym, że zmieniono nazwę symbolu, gdy jest to parametr ogólny.
- Szablony dla platformy .NET Framework (klasyczne szablony języka F#) używają teraz biblioteki FSharp.Core z pakietu NuGet, aby dostosować je do szablonów języka F# zestawu .NET SDK.
- Automatyczne uzupełnianie nawiasów klamrowych transakcyjnych jest teraz dostępne dla
()par ,[],{},[||]i[<>]nawiasów klamrowych. Wykonaliśmy tę pracę we współpracy z Gibran Rosa. - Teraz możesz przejść do definicji za pomocą Ctrl + Kliknięcie symbolu języka F#. Ustawienia tego gestu są również przestrzegane w oknie Opcje narzędzi>.
- Interfejs użytkownika wydajności funkcji IntelliSense został zmodyfikowany, aby umożliwić konfigurację nieaktualnych informacji dotyczących sprawdzanie typów dla różnych funkcji IDE. Wyjaśnienia dla każdej opcji są teraz obecne w etykietkach narzędzi dla ustawień.
- Wyróżnianie dopasowania nawiasów klamrowych teraz poprawnie wyróżnia nawiasy klamrowe, ukończone we współpracy z Vasily Kirichenko.
- Przejdź do definicji teraz prawidłowo przechodzi, gdy typ jest definiowany rekursywnie, współautor : Vasily Kirichenko.
- Usterka polegająca na tym, że automatycznie zaimportowana przestrzeń nazw nie została otwarta, gdy górna część pliku była pusta, została usunięta przez Vasily Kirichenko.
- Usunięto usterkę polegającą na tym
printf, że specyfikatory zawierające kropki były błędnie kolorowane przez Vasilya Kirichenko. - Usunięto usterkę polegającą na tym, że wszystkie otwarte zostały uznane za nieużywane wewnątrz modułu cyklicznego , został naprawiony przez Vasily Kirichenko.
- Wydajność analizatora Nieużywane otwarcia została znacznie zwiększona przez Vasily Kirichenko.
- Autouzupełnianie atrybutów sugeruje teraz tylko opcje, które są rzeczywiście atrybutami, autor : Vasily Kirichenko.
- Etykietki narzędzi Pomocy podpisu są teraz generowane dla parametrów statycznych dostawcy typów w lokacji wywołania konstruktora, współautor : Vasily Kirichenko.
- Usterka polegająca na tym, że typy wartości używane jako jednostki miary były kolorowane, ponieważ typy referencyjne zostały naprawione przez Vasily Kirichenko.
- Usterka polegająca na tym, że kolorowanie semantyczne mogło zniknąć dla niektórych plików podczas przewijania, zostało naprawione przez Vasily Kirichenko.
- Obecnie istnieje eksperymentalna implementacja CodeLens, współautor : Victor Peter Rouven Müller. Można ją włączyć w edytorze > tekstów Opcje > F# > Code Lens.
- Usunięto usterkę polegającą na tym, że usługa kompilatora języka F# niepoprawnie wychwyciła nazwy modułów w dokumentacji XML, została usunięta przez Sebastiana Urbana.
- Kod używany
Dictionaryz wywołaniamiContainsKeyi kolejneItemwywołania został zmieniony na użycieTryGetValuemetody , przez Eugene Auduchinok. - Jakob Majoka przyczynił się również do korzystania z innego interfejsu API dla etykietek narzędzi.
Ulepszenia infrastruktury, tworzenia pakietów i open source
Wprowadziliśmy następujące ulepszenia dotyczące infrastruktury, tworzenia pakietów i naszego środowiska współtworzenia typu open source:
- Kompilator języka F# dystrybuowany za pomocą programu Visual Studio nie jest już instalowany jako pojedynczy element w lokalizacji zestawu SDK kompilatora języka F#. Jest ona teraz w pełni równoległa z programem Visual Studio, co oznacza, że instalacje równoległe programu Visual Studio będą mieć naprawdę równoległe środowiska narzędzi i języka F#.
- Pakiet NuGet FSharp.Core jest teraz podpisany.
- Rejestrowanie ETW zostało dodane do narzędzi i kompilatora języka F#.
- Bardzo duże
control.fs/control.fsipliki w pliku FSharp.Core zostały podzielone naasync.fs/async.fsi, ,event.fs/event.fsieventmodule.fs/eventmodule.fsi,mailbox.fs/mailbox.fsi, i .observable.fs/observable.fsi - Dodaliśmy wersje w stylu zestawu SDK platformy .NET artefaktów testów obciążeniowych wydajności projektu.
- Usunęliśmy Newtonsoft.json z naszej bazy kodu i masz teraz jeden mniej pakietu pobrany dla współautorów systemu operacyjnego.
- Teraz używamy najnowszych wersji elementu System.Collections.Immutable i System.Reflection.Metadata.
Ulepszenia zgodności i zestawu narzędzi języka C++
Ta wersja zawiera następujące ulepszenia zgodności i zestawu narzędzi języka C++:
-
Nowy, eksperymentalny preprocesor oparty na tokenach zgodny ze standardami języka C++11 (w tym funkcje preprocesora C99), włączony z przełącznikiem /experimental:preprocessor. Jest to kontrolowane za pomocą makra
_MSVC_TRADITIONAL, które jest definiowane 1 podczas korzystania z tradycyjnego preprocesora preprocesora i 0 w przypadku korzystania z nowego preprocesora zgodnego ze standardami eksperymentalnymi. - Wiersz polecenia dla deweloperów programu Visual Studio obsługuje włączanie środowisk uruchomieniowych
-vcvars_spectre_libs = spectrevisual C++ Spectre variant 1 (). Więcej informacji na temat ograniczania ryzyka spectre jest dostępne na blogu zespołu Visual C++. - Dwa nowe dodatki do optymalizatora SSA koncentrują się na nowoczesnej generacji kodu C++: eliminacji nadmiarowego magazynu i składania nadmiarowych gałęzi.
- Zoptymalizowana wydajność we/wy mapowanej pamięci w konsolidatorze w celu skrócenia czasu łączenia.
Programowanie międzyplatformowe języka C++
Dodaliśmy, ulepszyliśmy i dodaliśmy następujące elementy do programowania międzyplatformowego języka C++ dla tej wersji:
- Dodano szablon Dodaj>nowy element do generowania pliku w formacie clang zgodnie z konwencją kodowania określoną dla formatu ClangFormat wobszarze Opcje>. Jeśli wybrano konwencję programu Visual Studio, wygenerowany plik próbuje dopasować bieżącą konfigurację formatowania programu Visual Studio użytkownika z opcji narzędzi>.
- Zaktualizowano dostarczoną wersję clang-format.exe do wersji 6.0.0.
- Szablony upraszczające dodawanie konfiguracji do CppProperties.json.
- Dodano szablony, aby uprościć dodawanie konfiguracji do CMakeSettings.json(Rysunek 7).
Produktywność języka C++
Wprowadziliśmy następujące ulepszenia i ulepszenia produktywności języka C++:
- Etykietki narzędzi Szybkich informacji języka C++ w makrach pokazują teraz, do czego się rozszerzają, a nie tylko ich definicję. Jest to szczególnie przydatne w przypadku złożonych makr odwołujących się do innych makr, ponieważ wyjaśnia, jaki identyfikator makra jest zastępowany przez preprocesor.
- Dodano nową żarówkę szybkiego naprawiania w celu konwertowania podstawowych makr na constexpr jako nowego narzędzia do modernizacji kodu.
- Funkcja IntelliSense dla szablonów udostępnia więcej szczegółów na temat argumentów szablonu, aby w pełni wykorzystać funkcję IntelliSense w treści szablonu (Rysunek 8).
- Pracujemy nad odświeżenie środowiska analizy kodu. Teraz możesz włączyć nowe funkcje w toku w obszarze Narzędzia>Opcje>Edytor> tekstuC++>Eksperymentalna>analiza kodu. Analiza kodu może działać w tle, gdy pliki są otwierane lub zapisywane, a wyniki są wyświetlane na liście błędów i jako zielone zygzaki w edytorze (Rysunek 9).
Ulepszenia debugowania języka C++
Wprowadziliśmy następujące ulepszenia debugowania:
- Tylko mój kod umożliwia teraz przechodzenie kodu z bibliotek systemowych lub innych firm C++ oprócz zwijania tych wywołań w oknie stosu wywołań. To zachowanie można kontrolować dla dowolnych bibliotek języka C++, gdy kod jest kompilowany za pomocą narzędzia /JMC, a ścieżki bibliotek innych niż użytkownik są określone w pliku natjmc. Jeśli biblioteka systemowa wywołuje metodę w kodzie użytkownika, debuger pomija cały kod systemowy i zatrzymuje się w pierwszym wierszu wywołania zwrotnego kodu użytkownika (Rysunek 10) .
- Punkty przerwania danych można teraz ustawiać w oknach Watch, Quickwatch, Autos i Locals, co pozwala na przerwanie działania w przypadku zmiany wartości w pamięci w ciągu kilku kliknięć krótkich.
- Link źródłowy umożliwia osadzanie informacji o oryginalnym kodzie źródłowym pliku wykonywalnego lub biblioteki w pliku PDB podczas kompilacji.
- Podczas debugowania okno konsoli jest teraz domyślnie otwarte, gdy program kończy wykonywanie (podobnie jak w przypadku uruchamiania programu bez debugera). To zachowanie może zostać przełączone z powrotem w celu automatycznego zamknięcia konsoli w obszarze Narzędzia > Opcje > Debugowanie > ogólne.
Ulepszenia języka JavaScript i języka TypeScript
TypeScript 3.0
Program Visual Studio 2017 w wersji 15.8 domyślnie zawiera język TypeScript 3.0. Aby uzyskać więcej informacji na temat tej wersji, zobacz ogłoszenie o wersji języka TypeScript 3.0.
Ulepszona obsługa Vue.js
Ulepszono obsługę biblioteki Vue.js, a w szczególności obsługę plików vue, znanych również jako "składniki pojedynczego pliku". Zapewnia to ulepszenia podczas edytowania bloków skryptów w plikach vue, w tym obsługę bloków skryptów utworzonych w języku TypeScript za pomocą atrybutu lang="ts" w elemecie script. (Uwaga: Proces kompilacji przy użyciu pakietu WebPack lub podobnego musi służyć do konwertowania plików vue na pliki HTML i JS potrzebne w czasie wykonywania. Aby uzyskać więcej informacji, zobacz stronę Składniki pojedynczego pliku .
Jeśli obciążenie Node.js jest zainstalowane, w oknie dialogowym Nowy projekt będą teraz dostępne szablony "Podstawowa aplikacja internetowa Node.jsVue.js Node.js". Poniżej przedstawiono przykład edytowania kodu TypeScript wewnątrz bloku skryptu w pliku vue (Rysunek 11).
Ulepszenia interfejsu ESLint
Ponownie zaimplementowaliśmy obsługę pakietu ESLint dla tej wersji. Program ESLint ma następujące ulepszenia i ulepszenia:
- Zamiast tylko linting zapisanych plików, program Visual Studio będzie teraz lint pliki JavaScript podczas edycji, jak również.
- Wyniki można zgłaszać dla wszystkich plików JS w projekcie, a nie tylko otwartych plików; Jeśli istnieją części projektu, które nie mają być linted, można teraz użyć pliku eslintignore do określania katalogów i plików, które powinny być ignorowane.
- Program ESLint został zaktualizowany w celu domyślnego używania programu ESLint 4, ale jeśli projekt ma lokalną instalację programu ESLint, będzie używać tej wersji.
Element ESLint może zostać wyłączony globalnie w programie Visual Studio, usuwając zaznaczenie ustawienia Włącz ESLint w obszarze **Narzędzia > Opcje > edytora > tekstów Javascript/Linting języka Typescript > ** (Rysunek 12).
Ulepszenia otwierania folderu dla Node.js
Istnieje wiele ulepszeń pracy z językami JavaScript i TypeScript w scenariuszu Otwórz folder po zainstalowaniu obciążenia "Node.js". Na przykład zarządzanie pakietami NPM, kompilowanie języka TypeScript, uruchamianie i debugowanie przy użyciu Node.exe, wykonywanie skryptów NPM i uruchamianie testów jednostkowych.
Aby uzyskać więcej informacji, zobacz Tworzenie kodu JavaScript i TypeScript w programie Visual Studio bez rozwiązań lub projektów} .
Ulepszenia wydajności edytora
W poprzednich wersjach wszystkie operacje usługi językowej JavaScript i TypeScript były obsługiwane przez pojedynczy proces Node.js. Może to spowodować opóźnienia edytora, jeśli polecenia wpływające na wpisywanie przez użytkownika (takie jak automatyczne formatowanie po nowym wierszu) zostały wysłane, gdy potencjalnie długotrwała operacja była już w trakcie (na przykład analizowanie kodu pod kątem błędów). Aby temu zapobiec, oddzielny proces jest teraz używany dla operacji, które mają wpływ na edycję najbardziej. Ten proces jest znacznie lżejszy w przypadku zasobów systemowych niż istniejący proces usługi językowej. Jeśli jednak chcesz wyłączyć nowy proces, zaznacz pole Wyłącz dedykowany proces składni w obszarze Narzędzia > Opcje > Edytor > tekstów JavaScript/TypeScript > Language Service.
Visual Studio Web Tools
Menedżer biblioteki to nowa funkcja dostępna w programie Visual Studio 2017. Ułatwia ona zarządzanie bibliotekami po stronie klienta w projektach internetowych.
Narzędzia do zarządzania kontenerami
Dodaliśmy nowe środowisko kontenera platformy Docker pojedynczego projektu dla projektów internetowych platformy ASP.NET Core. Uzupełnia to istniejące narzędzia kontenerów oparte na narzędziu docker Compose i zapewnia prostszy, łatwiejszy sposób tworzenia, debugowania i kompilowania kontenerów platformy Docker bezpośrednio z poziomu programu Visual Studio.
Obsługę platformy Docker można dodać podczas tworzenia projektu (Rysunek 13):
Możesz też włączyć obsługę platformy Docker dla istniejącego projektu za pomocą menu kontekstowego projektu w Eksploratorze rozwiązań (Rysunek 14) . Gdy to zrobisz, program Visual Studio utworzy pojedynczy plik Dockerfile w projekcie. Możesz wybrać system Windows lub Linux.
Program Visual Studio dodaje również profil uruchamiania debugera (Rysunek 15) dla platformy Docker, aby można było debugować projekt podczas uruchamiania w kontenerze.
Jeśli masz rozwiązanie z wieloma projektami platformy Docker, domyślnie tylko jeden kontener jest uruchamiany, gdy zdecydujesz się uruchomić rozwiązanie. Jeśli chcesz uruchomić wiele kontenerów jednocześnie, możesz kliknąć prawym przyciskiem myszy rozwiązanie w Eksploratorze rozwiązań i wybrać pozycję Ustaw projekty startowe , a następnie ustawić listę rozwijaną Akcja na Start lub Rozpocznij bez debugowania dla wszystkich projektów, które chcesz uruchomić.
Po uruchomieniu konteneryzowanego projektu możesz kliknąć projekt prawym przyciskiem myszy i wybrać polecenie Kompiluj obraz platformy Docker , aby utworzyć obraz lokalnie, gdy wszystko będzie gotowe do wypchnięcia do usługi Azure Container Registry lub DockerHub.
Możesz również dodać istniejące funkcje oparte na platformie Docker Compose do projektu internetowego platformy ASP.NET Core za pomocą nowej opcji obsługi orkiestratora kontenerów(Rysunek 16) . Kliknij prawym przyciskiem myszy projekt internetowy ASP.NET Core w Eksploratorze rozwiązań, wybierz polecenie Dodaj > obsługę orkiestratora kontenerów, a następnie wybierz polecenie Docker Compose z menu rozwijanego.
Ulepszenia publikowania
Ta wersja zawiera następujące ulepszenia publikowania:
- Podczas publikowania kontenera platformy Docker w rejestrze kontenerów można teraz dostosować tag obrazu. Możesz ręcznie dodać tag (wartość domyślna to "najnowsza") lub użyć tagu wygenerowanego automatycznie, aby upewnić się, że każdy tag jest unikatowy.
- Podczas tworzenia nowej usługi Azure App Service można również skonfigurować usługę Application Insights w celu automatycznego zbierania danych telemetrycznych. Jeśli wybierzesz region, który ma również usługę Application Insights, jest on domyślnie włączony. Jeśli wybierzesz region, który nie zawiera jeszcze usługi Application Insights, możesz ręcznie określić inny region dla zasobu usługi Application Insights z listy rozwijanej.
- Podczas publikowania projektów usługi Azure Functions możesz zdecydować się na opublikowanie przy użyciu nowej funkcji Uruchom z pliku Zip .
Visual Studio Tools for Xamarin
Ta wersja zawiera następujące aktualizacje dla platformy Xamarin:
- Dodaliśmy obsługę środowiska Xcode 9.4.
- Podczas tworzenia nowego projektu platformy Xamarin.Forms domyślna opcja udostępniania kodu to teraz .NET Standard. Opcja udostępnionego projektu jest nadal dostępna.
- Dodaliśmy ulepszenia kompilacji przyrostowej systemu Android. Platforma Xamarin.Android używa plików wygenerowanych w katalogu danych wyjściowych pośrednich w celu uzyskania kompilacji przyrostowych, które są szybsze niż pełne kompilacje. Wcześniej, jeśli zmieniono strukturę docelową projektu, spowoduje to unieważnienie plików i utworzenie pełnej kompilacji podczas następnego uruchomienia. W tej wersji zachowujemy pliki w folderach dla poszczególnych struktur, dzięki czemu można przełączać się między różnymi platformami docelowymi i nadal korzystać z kompilacji przyrostowych. Czyszczenie projektu umożliwia odzyskanie miejsca na dysku używanego przez zachowane pliki.
- Dodaliśmy minimalną obsługę projektów powiązań platformy Xamarin.Mac w programie Visual Studio 2017. Dzięki temu program Visual Studio może ładować i rozpoznawać projekty powiązań platformy Xamarin.Mac jako obsługiwane. Można również tworzyć projekty powiązań platformy Xamarin.Mac. Jednak proces kompilacji jest wykonywany lokalnie bez użycia natywnego łańcucha narzędzi dla komputerów Mac, więc wygenerowanych zestawów IL nie można używać do uruchamiania ani debugowania w aplikacjach.
obsługa emulatora systemu Android Hyper-V
W tej wersji dodano obsługę emulatora systemu Google Android zgodnego z funkcją Hyper-V podczas uruchamiania w aktualizacji systemu Windows 10 z kwietnia 2018 r. (Rysunek 17) . Dzięki temu można używać emulatora systemu Android firmy Google obok innych technologii opartych na Hyper-V, w tym Hyper-V maszyn wirtualnych, narzędzi platformy Docker, emulatora urządzenia HoloLens i nie tylko. Deweloperzy aplikacji mobilnych korzystający z Hyper-V mają teraz dostęp do szybkiego emulatora systemu Android, który zawsze obsługuje najnowsze interfejsy API systemu Android, współpracuje z usługami Google Play i obsługuje wszystkie funkcje emulatora systemu Android, w tym aparat, geolokalizację i szybki rozruch.
Xamarin.Android Designer
Wprowadziliśmy znaczące ulepszenia środowiska projektanta dla platformy Xamarin.Android. Najważniejsze elementy to:
- Wprowadzono edytor widoku podzielonego, który umożliwia tworzenie, edytowanie i wyświetlanie podglądu układów w tym samym czasie (Rysunek 18).
- Ulepszone środowisko funkcji IntelliSense i niezawodność kontrolek niestandardowych.
- Przykładowa obsługa danych dla podanych wartości systemu.
Podgląd zestawu narzędzi Xamarin.Forms
Program podglądu zestawu narzędzi Xamarin.Forms obsługuje teraz przybornik w przypadku korzystania z zestawu narzędzi Xamarin.Forms w wersji 3.1.0.583944 lub nowszej. Kontrolki platformy Xamarin.Forms będą wyświetlane w przyborniku, aby były bardziej wykrywalne dla tych nowych elementów zestawu narzędzi. Możesz również przeciągać i upuszczać kontrolkę do edytora kodu XAML, aby dodać kontrolkę do strony. Program podglądu zestawu narzędzi Xamarin.Forms jest teraz częścią edytora XAML. Możesz go otworzyć i zamknąć za pomocą ikony rozwijania na krawędzi okienka edytora.
Python
W tej wersji dodano następujące ulepszenia dla deweloperów języka Python:
- Funkcja IntelliSense języka Python używa teraz definicji typehed w celu zapewnienia bogatszych wyników dla bibliotek, w których automatyczne uzupełnianie nie może być wnioskowane przez analizę statyczną.
- Eksperymentalny debuger, po raz pierwszy ogłoszony w wersjach zapoznawczych 15.7, jest teraz domyślnym aparatem debugowania używanym dla języka Python, który zapewnia szybsze i bardziej niezawodne debugowanie kodu w języku Python.
- Dodaliśmy obsługę języka Python 3.7, w tym poprawki umożliwiające dołączanie debugowania, profilowanie i funkcje debugowania w trybie mieszanym (między językami).
- Aby uzyskać więcej informacji na temat powyższych funkcji, zapoznaj się z wpisem w blogu python in Visual Studio 2017 version 15.8 (Język Python w programie Visual Studio 2017 w wersji 15.8 ).
Migrowanie lokalnych ustawień funkcji platformy Azure
Okno dialogowe "Ustawienia aplikacji zarządzanej" dostępne na stronie podsumowania publikowania wyświetla teraz wartości z pliku local.settings.json i umożliwia migrowanie wartości do zdalnej aplikacji funkcji platformy Azure hostowanej na platformie Azure.
Connected Services
Teraz można skonfigurować ciągłe dostarczanie dla funkcji platformy Azure bezpośrednio z poziomu programu Visual Studio 2017 pod kątem rozwiązań za pomocą projektów funkcji platformy Azure.
Ulepszenie Eksploratora testów
Eksplorator testów wyświetla teraz bardziej informacyjne okienko podsumowania stanu testu (dolne okienko Eksploratora testów), gdy wybrano jedno z grup w widoku hierarchii. W okienku jest teraz wyświetlana liczba testów, które zakończyły się niepowodzeniem, zakończyły się powodzeniem lub nie zostały uruchomione w tym grupowaniu.
Nowe funkcje rozszerzalności
Protokół serwera językowego
Program Visual Studio ma teraz natywną obsługę protokołu Language Server Protocol. Autorzy rozszerzeń mogą tworzyć rozszerzenia komunikujące się z istniejącymi serwerami językowymi w celu dodania dodatkowej obsługi języka do programu Visual Studio. Użytkownicy rozszerzeń mogą zainstalować te rozszerzenia, aby rozpocząć korzystanie z ulubionego języka w programie Visual Studio, na przykład Rust.
Szablon AsyncPackage
Autorzy rozszerzeń mogą teraz używać szablonów elementów do tworzenia AsyncPackages w celu zoptymalizowania wydajności rozszerzenia. Przeczytaj więcej na temat pakietu AsyncPackages.
Pakiety rozszerzeń
Łatwe udostępnianie ulubionego zestawu rozszerzeń lub konfigurowanie nowej instalacji programu Visual Studio ze wszystkimi rozszerzeniami przy użyciu pakietu rozszerzeń. Pakiety rozszerzeń umożliwiają tworzenie listy rozszerzeń, pakowanie ich w rozszerzeniu i szybkie instalowanie tych rozszerzeń zbiorczo.
Publikowanie rozszerzenia wiersza polecenia
Opublikuj rozszerzenia w witrynie Visual Studio Marketplace przy użyciu wiersza polecenia.
Zestaw .NET Core SDK 2.1.400
Program Visual Studio 2017 w wersji 15.8 zawiera zestaw .NET Core SDK 2.1.400. Nowe funkcje zestawu SDK obejmują:
- Dodano szablony NUnit
- Dodano obsługę podpisanych narzędzi globalnych
- Ulepszony tekst pomocy w celu uzyskania lepszej jasności
32 problemy zostały zamknięte w interfejsie wiersza polecenia platformy .NET Core.
20 problemów zostało zamkniętych w zestawie .NET Core SDK.
Kontrola źródła
W przypadku projektów platformy .NET Core pliki dodane bezpośrednio do projektu za pośrednictwem Eksploratora plików będą teraz wyświetlać prawidłowe ikony śledzenia git i TFS w Eksploratorze rozwiązań bez konieczności ponownego ładowania rozwiązania.
Rozszerzenie adaptera testowego platformy .NET
Adapter testowy platformy .NET ma następującą zmianę powodującą niezgodność i wycofanie:
- Zmiana powodująca niezgodność: wszystkie projekty testowe muszą zawierać odwołanie NuGet do adaptera testowego platformy .NET w pliku csproj. Jeśli tak nie jest, te dane wyjściowe testu będą wyświetlane w projekcie, jeśli odnajdywanie przez rozszerzenie adaptera testowego zostanie uruchomione po kompilacji lub jeśli użytkownik spróbuje uruchomić wybrane testy:
- Projekt testowy {<Pełna ścieżka projektu> testowego} nie odwołuje się do żadnej karty NuGet platformy .NET. Odkrywanie lub wykonywanie testów może nie działać w tym projekcie. Zaleca się odwołanie do kart testowych NuGet w każdym projekcie testowym w rozwiązaniu.
- Platformy testowe .NET udostępniają swoje karty w pakietach NuGet i odchodzą od rozszerzeń programu Visual Studio. Obsługa kart testowych platformy .NET dostarczanych za pośrednictwem rozszerzeń jest przestarzała, ale nadal jest obsługiwana. Oznacza to, że w obszarze Narzędzia > Opcje > testowe są dostępne dwie nowe opcje.
- Pierwsza opcja umożliwia programowi Visual Studio używanie tylko kart testowych, które znajduje w folderze zestawu testowego (wypełnionym przez odwołanie NuGet adaptera testowego) lub określonym w pliku runsettings.
- Druga opcja umożliwia programowi Visual Studio "powrót" do starego zachowania i wyszukiwanie rozszerzeń adaptera testowego dla projektów, które nie mają odwołania NuGet adaptera testowego. Obie opcje są domyślnie sprawdzane, więc żadne domyślne zachowanie nie zmieni się w tej wersji.
- Uwaga: Non-.NET adaptery testowe nie mają wpływu na tę zmianę.
Obsługa wpisów tajnych programu ASP.NET .NET Framework
W przypadku ASP.NET projektów programu .NET Framework przeznaczonych dla programu .NET Framework 4.7.1 lub nowszego można teraz otwierać i przechowywać wpisy tajne, których nie chcesz przechowywać w kodzie źródłowym w usersecrets.xml, klikając projekt prawym przyciskiem myszy i wybierając pozycję "Zarządzane wpisy tajne użytkownika".
Zwiększanie wydajności programu ASP.NET .NET Framework
Jeśli przywołyżony pakiet kompilatora .NET jest nieaktualny w projekcie programu .NET Framework ASP.NET, program Visual Studio wyświetli monit o uaktualnienie pakietu po otwarciu projektu w celu zwiększenia wydajności kompilacji.
.NET Framework 4.7.2
Program Visual Studio 2017 w wersji 15.8 oferuje teraz narzędzia programistyczne .NET Framework 4.7.2 do wszystkich obsługiwanych platform z dołączonym środowiskiem uruchomieniowym 4.7.2. Program .NET Framework 4.7.2 oferuje kilka nowych funkcji i ulepszeń, a także liczne poprawki niezawodności, stabilności, zabezpieczeń i wydajności.
Więcej szczegółów na temat programu .NET Framework 4.7.2 można znaleźć w następujących artykułach:
- Blog programu .NET Framework 4.7.2 RTM
- Informacje o wersji programu .NET Framework 4.7.2
- Znane problemy w programie .NET Framework 4.7.2
- Zgodność aplikacji w programie .NET Framework 4.7.2
- Zmiany interfejsu API
Opóźnij ładowanie pakietów
Program Visual Studio opóźnia teraz ładowanie pakietów asynchronicznych skonfigurowanych do automatycznego ładowania do momentu pełnego uruchomienia środowiska IDE programu Visual Studio i załadowania rozwiązania. Ta zmiana nie ma wpływu na pakiety automatycznie ładowane synchronicznie. Użytkownicy mogą przeglądać Centrum stanu zadań w lewym dolnym rogu paska stanu, aby monitorować postęp. Autorzy rozszerzeń, którzy tworzą pakiety asynchroniczne, powinni przetestować ich rozszerzenie. Aby uzyskać więcej informacji, zobacz Poprawianie czasu odpowiedzi scenariuszy krytycznych przez aktualizowanie zachowania automatycznego ładowania rozszerzeń.
---
Powiadomienia o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.8
Wydanie usługi programu Visual Studio 2017 w wersji 15.8.7— wydane 10 października 2018 r.
CVE-2018-8292 Luka w zabezpieczeniach dotycząca ujawniania informacji na platformie .NET Core
Luka w zabezpieczeniach obejścia funkcji zabezpieczeń istnieje na platformie .NET Core, gdy informacje o uwierzytelnianiu HTTP są przypadkowo uwidocznione w żądaniu wychodzącym, które napotyka przekierowanie HTTP. Osoba atakująca, która pomyślnie wykorzystała tę lukę w zabezpieczeniach, może użyć tych informacji w celu dalszego naruszenia zabezpieczeń aplikacji internetowej. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób obsługi przekierowań HTTP przez aplikacje platformy .NET Core.
Wydanie usługi programu Visual Studio 2017 w wersji 15.8.4— wydane 11 września 2018 r.
CVE-2018-8409 Luka w zabezpieczeniach dotycząca odmowy usługi platformy .NET Core
Luka w zabezpieczeniach typu "odmowa usługi" istnieje na platformie .NET Core 2.1, gdy usługa System.IO.Pipelines nieprawidłowo obsługuje żądania. Osoba atakująca, która pomyślnie wykorzystała tę lukę w zabezpieczeniach, może spowodować atak typu "odmowa usługi" na aplikację korzystającą z elementu System.IO.Pipelines. Lukę w zabezpieczeniach można wykorzystać zdalnie bez uwierzytelniania. Zdalny nieuwierzytelniony atakujący może wykorzystać tę lukę w zabezpieczeniach, dostarczając specjalnie spreparowane żądania do aplikacji.
CVE-2018-8409 ASP.NET luka w zabezpieczeniach dotycząca odmowy usługi
W ASP.NET Core 2.1 istnieje luka w zabezpieczeniach typu "odmowa usługi", która nieprawidłowo obsługuje żądania internetowe. Tę lukę w zabezpieczeniach może wykorzystać atakujący i spowodować odmowę usługi dla aplikacji internetowej platformy ASP.NET Core. Lukę w zabezpieczeniach można wykorzystać zdalnie bez uwierzytelniania. Zdalny nieuwierzytelniony atakujący może wykorzystać tę lukę w zabezpieczeniach, udostępniając specjalnie spreparowane żądania internetowe do aplikacji ASP.NET Core.
Program Visual Studio 2017 w wersji 15.8— wydany 14 sierpnia 2018 r.
CVE-2018-0952 Luka w zabezpieczeniach dotycząca podniesienia uprawnień standardowego modułu zbierającego centrum diagnostycznego
Luka w zabezpieczeniach dotycząca podniesienia uprawnień istnieje w usłudze visual studio, co może prowadzić do uprawnień systemowych przez użytkownika niebędącego administratorem podczas zapisywania plików. Osoba atakująca, która skorzystała z tego problemu, może zapisywać pliki jako system, mając tylko dostęp na poziomie użytkownika. Ta aktualizacja zabezpieczeń rozwiązuje ten problem, personifikując bieżącego użytkownika w celu zweryfikowania dostępu do lokalizacji pliku.
Program Visual Studio 2017 w wersji 15.8 (wersja zapoznawcza 4) — wydany 10 lipca 2018 r.
CVE-2018-8172 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w programie Visual Studio
Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu, która może prowadzić do wykorzystania maszyny użytkownika przez otwarcie specjalnie spreparowanego projektu lub pliku zasobu. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób sprawdzania znaczników źródłowego pliku przez program Visual Studio.
CVE-2018-8260 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu programu .NET Framework
Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje w oprogramowaniu .NET, które może prowadzić do wykorzystania maszyny użytkownika przez umożliwienie osobom atakującym uruchamiania dowolnego kodu w kontekście bieżącego użytkownika. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób sprawdzania narzutu źródłowego pliku przez platformę .NET.
CVE-2018-8232 Luka w zabezpieczeniach dotycząca naruszenia naruszenia w programie Microsoft Macro Assembler
Luka w zabezpieczeniach związana z nieprawidłowym sprawdzaniem poprawności kodu przez program Microsoft Macro Assembler. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, upewniając się, że program Microsoft Macro Assembler prawidłowo weryfikuje logikę kodu.
CVE-2018-8171 luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń podstawowego ASP.NET
Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń ASP.NET Core istnieje, gdy liczba nieprawidłowych prób logowania nie jest weryfikowana, co może prowadzić do próby nieskończonej próby uwierzytelnienia przez osobę atakującą. Aktualizacja usuwa tę lukę w zabezpieczeniach, sprawdzając liczbę nieprawidłowych prób logowania.
Program Visual Studio 2017 w wersji 15.8 (wersja zapoznawcza 3) — wydany 26 czerwca 2018 r.
CVE-2018-11235 Biuletyn zabezpieczeń firmy Microsoft dotyczący luki w zabezpieczeniach usługi Git
Usunęliśmy lukę w zabezpieczeniach w usłudze Git, która została ujawniona przez społeczność usługi Git. Luka w zabezpieczeniach może prowadzić do dowolnego wykonania kodu, gdy użytkownik sklonuje złośliwe repozytorium.
Program Visual Studio 2017 w wersji 15.8 (wersja zapoznawcza 1) — wydany 8 maja 2018 r.
CVE-2018-0765 Biuletyn zabezpieczeń firmy Microsoft dotyczący luki w zabezpieczeniach typu "odmowa usługi" platformy .NET Core
- Firma Microsoft publikuje ten poradnik dotyczący zabezpieczeń, aby udostępnić informacje o lukach w zabezpieczeniach w programach .NET Core i .NET Native w wersji 2.0. Ten poradnik zawiera również wskazówki dotyczące tego, co deweloperzy mogą zrobić, aby zaktualizować aplikacje w celu usunięcia tej luki w zabezpieczeniach.
- Firma Microsoft zdaje sobie sprawę z luki w zabezpieczeniach typu "odmowa usługi", która istnieje, gdy programy .NET Framework i .NET Core nieprawidłowo przetwarzają dokumenty XML. Osoba atakująca, która pomyślnie wykorzystała tę lukę w zabezpieczeniach, może spowodować odmowę usługi względem aplikacji natywnej .NET Framework, .NET Core lub .NET.
- Aktualizacja usuwa tę lukę w zabezpieczeniach, poprawiając sposób obsługi przetwarzania dokumentów XML przez programy .NET Framework, .NET Core i .NET natywne.
- Jeśli aplikacja jest aplikacją ASP.NET Core, deweloperzy powinni również zaktualizować aplikację ASP.NET Core 2.0.8.
informacji o wersjiVisual Studio 2017 w wersji 15.8.1
wydany 17 sierpnia 2018 r.
Najważniejsze problemy rozwiązane w wersji 15.8.1
Są to problemy rozwiązane w wersji 15.8.1:
- Rozwiązano problem polegający na tym, że program Visual Studio był nieoczekiwanie zamykany po zamknięciu okna przeglądarki podczas debugowania projektu internetowego.
informacji o wersjiVisual Studio 2017 w wersji 15.8.2
wydany 28 sierpnia 2018 r.
Najważniejsze problemy rozwiązane w wersji 15.8.2
Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.8.2:
- Brak elementu menu kontekstowego publikowania pojedynczego pliku.
- Nie działają operacje sieciowe usługi Git: nie można zduplikowyć git-askpass.exe.
- Ładowanie pakietu "Visual C++ Resource Editor" nie powiodło się.
- Przekształcenie w wersji zapoznawczej powoduje błąd.
- Nie można wpisać nawiasu klamrowego zamknięcia.
- Odwołanie do obiektu nie jest ustawione na wystąpienie obiektu podczas wdrażania projektu usługi Service Fabric po aktualizacji 15.8.0.
- Błąd instalacji "Format podanej ścieżki nie jest obsługiwany".
- Zadanie ExpandPriContent nie powiodło się. Niedozwolone znaki w ścieżce.
- Błąd instalatora "Nie można utworzyć wystąpienia typu System.Collections.Genertic.Iset'1[Signer]".
- Wdrażanie usługi Service Fabric kończy się niepowodzeniem w wersji 15.8.0.
- Nie można utworzyć pakietu aplikacji dla sklepu Windows.
- Niepoprawne generowanie kodu dla silnie typiowanych zasobów.
- Powiązanie klawiatury dla układu włoskiego.
- Funkcja IntelliSense uszkodzona #9999.
- Podczas pracy nad projektem aparatu Unity i ponownego zapisywania wielu plików projektu narzędzia Visual Studio Tools for Unity będą teraz automatycznie ponownie ładować rozwiązanie.
- Klient otrzyma teraz okno dialogowe, aby zamknąć aplikacje pakietu Office, jeśli blokują instalację programu Visual Studio i powodują awarię 1303.
informacji o wersjiVisual Studio 2017 w wersji 15.8.3
wydany 6 września 2018 r.
Najważniejsze problemy rozwiązane w wersji 15.8.3
Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.8.3:
- Program Visual Studio 2017 w wersji 15.8.2 zawierał wstępną kompilację zestawu .NET Core SDK 2.1.401, która jest niezgodna z programem Visual Studio. Rozwiązaliśmy ten problem z programem Visual Studio 2017 w wersji 15.8.3.
- Niepowodzenie tworzenia przypadku testowego programu VSCppUnit.
- Funkcja IntelliSense języka Python nie działa w języku Python 2.7.
- Projektant XAML powoduje nieoczekiwane zamknięcie programu Visual Studio.
informacji o wersjiVisual Studio 2017 w wersji 15.8.4
wydany 11 września 2018 r.
Najważniejsze problemy rozwiązane w wersji 15.8.4
Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.8.4:
- Funkcja Constexpr z jawnym (void) parametrem powoduje awarię wydania MSVC 15.8.0.
- TypeScriptLspCodeActionProvider napotkał błąd i został wyłączony.
- Pakiet "Udostępnione składniki sieci Web" nie został załadowany poprawnie.
- Edytowanie pliku CSS z włączonym linkiem przeglądarki może ulec awarii programu Visual Studio.
- Wdrażanie usługi Service Fabric kończy się niepowodzeniem w wersji 15.8.0.
- Niepoprawny błąd wskaźnika constexpr dla elementów członkowskich z programem VS2017 15.8.
- Constexpr nie obsługuje __declspec(dllimport) w programie VS2017 15.8.
- Różnice między wskaźnikami funkcji składowych między trybami C++14 i C++17 w programie VS 2017 Update 8 prowadzą do awarii.
- TestExplorer blokuje interfejs użytkownika w najnowszej kompilacji.
- [WebKit] "Już zdefiniowany symbol" dla statycznej definicji składowej szablonu (regresja).
- Wewnętrzny błąd kompilatora programu VS 15.8.0.
- Wewnętrzny błąd kompilatora w funkcji constexpr.
- Okno Eksploratora testów pozostaje puste w programie Express.
- Nie można otworzyć programu Visual Studio 2017 na maszynie z obsługą protokołu FIPS.
- Wewnętrzny błąd kompilatora VS2017 15.8 "msc1.cpp", wiersz 1518 podczas oceniania prostej funkcji constexpr.
- Błąd krytyczny C1001 po aktualizacji do programu VS 15.8.0.
- Migrowanie do programu VS2017 15.8: Wewnętrzny błąd kompilatora podczas korzystania z funkcji constexpr jako parametrów szablonu.
- Wewnętrzny błąd kompilatora podczas kompilowania funkcji szablonu z constexpr w programie VC++ 15.8.0.
- Kod generowany przez kompilator VC 15.8.1 prowadzi do awarii.
Powiadomienia związane z bezpieczeństwem
- CVE-2018-8409 Luka w zabezpieczeniach dotycząca odmowy usługi platformy .NET Core
- CVE-2018-8409 ASP.NET luka w zabezpieczeniach dotycząca odmowy usługi
informacji o wersjiVisual Studio 2017 w wersji 15.8.5
wydany 20 września 2018 r.
Podsumowanie nowości w wersji 15.8.5
- Narzędzia Visual Studio Tools dla programu Xamarin obsługują teraz środowisko Xcode 10.
Najważniejsze problemy rozwiązane w wersji 15.8.5
Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.8.5:
- Etykietka narzędzia debugera nie rozwija się w sesji debugowania platformy Xamarin.iOS.
- Debuger nie pozwoli mi opuścić punktu wykonywania (Android).
- Po zaktualizowaniu do wersji 15.8.1 porada dotycząca danych nie jest wyświetlana podczas debugowania.
- Porada dotycząca danych debugera nie rozwija [Edytor].
- Wyjątek:MSB0001: Wewnętrzny błąd MSBuild: Już zarejestrowany w czasie kompilacji.
- Nieprawidłowa ścieżka do zasobu w manifeście technologii ClickOnce po uaktualnieniu do programu VS 15.8.1.
- Błąd manifestu ClickOnce w wersji 15.8.
- Brak niektórych odwołań do publikowania ClickOnce.
- ClickOnce: plik językowy skopiowany do nieprawidłowej lokalizacji.
- Brak odwołania w folderze publikowania ClickOnce.
- Kompilowanie projektów języka F# w stylu zestawu SDK non-.NET powoduje wystąpienie wewnętrznego błędu MSBuild, chyba że równoległość msBuild jest ustawiona na 1.
- Język F# nie jest NGEN w programie Visual Studio.
- Język F# wdraża plik binarny FSharp.Core 4.5.0.0 w lokalizacji 4.4.3.0.
Szczegóły nowości w wersji 15.8.5
Visual Studio Tools for Xamarin
Narzędzia Visual Studio Tools for Xamarin obsługują teraz program Xcode 10, który umożliwia tworzenie i debugowanie aplikacji dla systemu iOS 12, tvOS 12 i watchOS 5. Zobacz , jak przygotować się do systemu iOS 12 i nasze wprowadzenie do systemu iOS 12 , aby uzyskać więcej informacji na temat nowych dostępnych funkcji.
informacji o wersjiVisual Studio 2017 w wersji 15.8.6
wydany 2 października 2018 r.
Podsumowanie nowości w wersji 15.8.6
- Dostępny jest najnowszy zestaw WINDOWS 10 SDK .
Najważniejsze problemy rozwiązane w wersji 15.8.6
Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.8.6:
- Pakiety NuGet dla funkcji IntelliSense są uszkodzone.
- Program Visual Studio jest zamykany po otwarciu pliku sln.
- Edytor XML App.Config nadal zamraża się w wersji 15.8.4.
Szczegóły nowości w wersji 15.8.6
Najnowszy zestaw WINDOWS 10 SDK dla deweloperów platformy uniwersalnej systemu Windows
Najnowszy zestaw Windows 10 SDK (kompilacja 17763) jest teraz dostępny jako składnik opcjonalny dla obciążenia programistycznego platformy uniwersalnej systemu Windows. Ten zestaw SDK można dodać do obciążenia, zaznaczając pole wyboru Windows 10 SDK (10.0.17763.0).
informacji o wersjiVisual Studio 2017 w wersji 15.8.7
wydany 10 października 2018 r.
Co nowego w wersji 15.8.7
Azure DevOps
Usługa Visual Studio Team Services jest teraz usługą Azure DevOps! Ta nowa marka zostanie wyświetlona w programie Team Explorer i w odwołaniach w programie Visual Studio.
Powiadomienia związane z bezpieczeństwem
CVE-2018-8292 Luka w zabezpieczeniach dotycząca ujawniania informacji na platformie .NET Core
informacji o wersjiVisual Studio 2017 w wersji 15.8.8
wydany 24 października 2018 r.
Najważniejsze problemy rozwiązane w wersji 15.8.8
Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.8.8:
- /DEBUG:FASTLINK nie zawiera informacji debugowania dla typów STL dołączonych za pośrednictwem PCH.
- Nieprawidłowe generowanie kodu widoczne w kompilatorze RTW w wersji 15.8.
- Uszkodzenie stert w odwijeniu stosu podczas tworzenia funkcji wpinania.
- Konsolidator zużywa 6 GB pamięci dla konkretnego przypadku testowego.
informacji o wersjiVisual Studio 2017 w wersji 15.8.9
wydany 2 listopada 2018 r.
Najważniejsze problemy rozwiązane w wersji 15.8.9
Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.8.9:
- Dodano obsługę środowiska Xcode 10.1 w narzędziach Visual Studio Tools for Xamarin.
- Zaktualizowano szablon zestawu narzędzi Xamarin.Forms do zestawu narzędzi Xamarin.Forms 3.3.0.
- Aktualizacja Update 15.8.6 przerywa projekty instalatora.
- Wewnętrzny błąd kompilatora w programie VS15.8 msc1.cpp wierszu 1518.
- Projekty instalatora programu Microsoft Visual Studio 2017 0.8.8 i VS 15.8.6.
- Funkcja SFINAE nie wykrywa pasującej przeciążonej funkcji w wersji zapoznawczej programu VS 3 15.9.0.
- Projektant XAML ulega awarii podczas zamykania programu Visual Studio.
Znane problemy
Zobacz wszystkie znane problemy i dostępne obejścia w programie Visual Studio 2017 w wersji 15.8.
Historia informacji o wydaniu programu Visual Studio 2017
Więcej informacji na temat poprzednich wersji programu Visual Studio 2017 można znaleźć na stronie Historia informacji o wersji programu Visual Studio 2017.