2016-11-27 10 views
5

Właśnie ściągnąłem Visual Studio 2017 RC, który był released a few days ago i posiada wsparcie dla C# 7. mogę używać C# 7 cech z IDE:Dlaczego nie można wykonać polecenia csc kompilacji C# 7 po zainstalowaniu VS 2017?

Jednak takie zachowanie nie wydaje się posiadać na wiersz poleceń. Pracuję nad projektem, który wymaga pliku wykonywalnego csc do obsługi C# 7 i wyższych. Jednak przy próbie zmiany na tym samym katalogu co projekt i skompletowanie dokumentacji, mam

> csc Program.cs /target:exe 
Microsoft (R) Visual C# Compiler version 1.3.1.60616 
Copyright (C) Microsoft Corporation. All rights reserved. 

Program.cs(12,23): error CS1026:) expected 
Program.cs(12,25): error CS1001: Identifier expected 
Program.cs(12,25): error CS1002: ; expected 
Program.cs(12,26): error CS1002: ; expected 
Program.cs(12,26): error CS1513: } expected 
Program.cs(13,32): error CS1003: Syntax error, '=>' expected 
Program.cs(13,32): error CS1525: Invalid expression term '=' 

więc wyraźnie, że wygląda wersji csc znalezionego w moim PATH nie obsługuje C# 7. Zrobiłem niewiele badań na ten temat i znalazłem similar question dla C# 6, co sugerowało, sprawdzając, upewnij się, że powołując się na csc z %PROGRAMFILES(x86)%\MSBuild\14.0\Bin zamiast starego z C:\Windows\Microsoft.NET\Framework\4.0.30319, ponieważ ten ostatni obsługuje tylko C# 5. Tak więc nie tylko to:

> where csc 
C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe 
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe 

Jak widać ten z MSBuild\14.0\Bin zostaje wybrany katalog, a nie stary w v4.0.30319. I dodatkowo prowadził csc /version który mówi mi, że wersja csc jest 1.3.1.60616, które rzeczywiście obsługuje tylko C# 6.

Czy ktoś ma pojęcia, jak włączyć funkcje C# 7 dla wersji csc w wierszu polecenia? Dzięki!

+2

14.0 to numer wersji VS2015, a nie VS2017. Więc wciąż jest stary. Użyj opcji Wiersz polecenia programisty 2017 i powtórz komendę * where *, aby znaleźć nową. –

Odpowiedz

6

Musisz uruchomić "Wiersz poleceń programisty dla VS 2017 RC". Wtedy możesz zobaczyć, że csc.exe będzie miał numer wersji 2.0.

Powszechnie wiadomo, że dla każdego nowego wydania VS należy użyć dedykowanego monitu z załadowanymi odpowiednimi zmiennymi środowiskowymi.

+2

"Dobrze wiadomo, że dla każdego nowego wydania VS powinieneś użyć dedykowanego polecenia z załadowanymi odpowiednimi zmiennymi środowiskowymi." Trudno dostrzec wartość tej uwagi. –

0

Można uruchomić „gdzie csc.exe” z Visual Studio 2017 poleceń i eksportowania wersji CSC trzeba dodając go do zmiennej systemowej Path. byłem w podobnym przypadku, gdy potrzebowałem do kompilacji poprzez linię poleceń i skończyło się na ustawienie

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Roslyn\ 

w ścieżce systemowej.

Powiązane problemy