2015-06-09 19 views
20

Chcę wypróbować nowy edytor Microsoft - kod Visual Studio. Chcę zaimplementować prostą aplikację (taką jak Hello, World) i móc ją debugować. Ale po wielu poszukiwaniach i próbach nie udało mi się tego zrobić. Czy to jest możliwe? Mam system Windows 10 z zainstalowanym Visual Studio 2015.Kod Visual Studio, obsługa języka C# w systemie Windows

Co próbowałem zrobić:

1) Odkomentuj następujące w pliku tasks.json:

{ 
"version": "0.1.0", 
"command": "msbuild", 
"args": [ 
    // Ask msbuild to generate full paths for file names. 
    "/property:GenerateFullPaths=true" 
], 
"taskSelector": "/t:", 
"showOutput": "silent", 
"tasks": [ 
    { 
     "taskName": "build", 
     // Show the output window only if unrecognized errors occur. 
     "showOutput": "silent", 
     // Use the standard MS compiler pattern to detect errors, warnings 
     // and infos in the output. 
     "problemMatcher": "$msCompile" 
    } 
] 

Ale kompilacji (Ctrl-Shift-B) nie powiedzie się z powodu błędu " nie udało się uruchomić zewnętrznego programu msbuild odradzania msbuild ENOENT. „

2) Przeczytaj ten artykuł: http://michaelcrump.net/creating-and-debugging-console-apps-with-vscode/, ale nie mam żadnego pliku project.json, także«dnx . run»nie powiedzie się z powodu błędu” System.InvalidOp erationException: Nie można rozwiązać projektu "

Czy istnieje prosty sposób na uruchomienie prostej aplikacji C# w kodzie VS? Zastanawiam się, dlaczego jest to tak skomplikowane. Prawdopodobnie coś mi brakuje, wszelkie pomysły są mile widziane.

Aktualizacja 1: Dodawanie msbuild do ścieżki pomaga

+0

Kod VS nadal ma ograniczone funkcje. O wiele łatwiej będzie uruchomić Twoją prostą aplikację C# w Visual Studio 2015. – natemcmaster

+0

Czy otrzymałeś coś więcej? Właśnie znalazłem VSC i byłoby to świetną szybką alternatywą dla VS dla małych zmian, ale dostaję ten sam błąd. – svanelten

+0

@svanelten, niestety, nie. Ale użyłem starej wersji kodu VS, którą wersję masz? – pfedotovsky

Odpowiedz

7

The C# support in VS Code is optimized for cross platform .NET development (DNX) (see working with ASP.NET 5 and VS Code for another relevant article. Our focus with VS Code is to be a great editor for cross platfrom C# development - for instance many Unity developers have been enjoying using VS Code in place of Mono Develop.

We support debugging of C# apps cross platfrom via Mono (see Mono Debugging).

Due to this focus many standard C# project types are not recognised by VS Code. An example of a non-supported project type is an ASP .NET MVC Application. In these cases if you simply want to have a lightweight tool to edit a file - VS Code has you covered. If you want the best possible experience for those projects, and development on Windows in general we recomend you use Visual Studio Community.

od: code.visualstudio.com/Docs/languages/csharp


Update, czerwiec 2017:

C# jest obsługiwana w Visual Kodeksu Studio przy użyciu Microsoft VS Rozszerzenie kodu C: https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp

Można go zainstalować, wyszukując "C#" w rozszerzeniach: Zainstaluj rozszerzenie. Alternatywnie, otwarcie pliku .cs powinno wyświetlić monit o zainstalowanie rozszerzenia.

To rozszerzenie obsługuje debugowanie C# aplikacji działających na .NET Rdzeń lub Mono jednak nie aplikacje uruchomione wsparcie debugowania na Pulpit Framework - Visual Studio Community wciąż zalecanych do pełna. Wsparcie projektu NET.

Aby uzyskać więcej informacji dotyczących C# wsparcie VS Code, patrz https://code.visualstudio.com/docs/languages/csharp

Na stronie Gielda na # rozszerzenia VS kod C, patrz https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp

4

Można skonfigurować msbuild dla budownictwa Pełny .NET aplikacjom grzywny tylko, notatkę musisz mieć ścieżkę msbuild lub podać pełną ścieżkę do niej w usłudze command.To właśnie zadanie przykład build (związany ctrl + shift + b) wygląda następująco:

{ 
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format 
    "version": "0.1.0", 
    "command": "MSBuild.exe", 
    "args": [ 
     // $msCompile requires GenerateFullPaths=true, rest is optional. I set it to build Debug/Any CPU and use parallel project build 
     "${workspaceRoot}/src/ExampleSolution.sln", 
     "/p:Configuration=Debug;Platform=Any CPU;GenerateFullPaths=true", 
     "/m" 
    ], 
    "taskSelector": "/t:", 
    "showOutput": "silent", 
    "echoCommand": true, 
    "tasks": [ 
     { 
      "taskName": "Rebuild", 
      // Required if you want "Rebuild", not build as your target and still use ctrl + shift + b hotkey 
      "isBuildCommand": true, 
      // Show the output window only if unrecognized errors occur. 
      "showOutput": "silent", 
      // Use the standard MS compiler pattern to detect errors, warnings and infos 
      "problemMatcher": "$msCompile" 
     } 
    ] 
} 

UPD: Jeśli chcesz skonfigurować zarówno bieg budynek i jednostki testowej, można użyć coś takiego (używa nunit konsoli biegacza i cmd jako zadanie włamania wokół vscode ograniczenie wsparcia tylko jednego zadania)

{ 
    "version": "0.1.0", 
    "command": "cmd", 
    "args": [ 
     "/c" 
    ], 
    "showOutput": "always", 
    "echoCommand": true, 
    "tasks": [ 
     { 
      "isBuildCommand": true, 
      "taskName": "MSBuild.exe", 
      "args": [ 
       "${workspaceRoot}/src/Example.sln", 
       "/t:Rebuild", 
       "/p:Configuration=Debug;Platform=Any CPU;GenerateFullPaths=true", 
       "/m" 
      ], 
      "showOutput": "always", 
      "problemMatcher": "$msCompile" 
     }, 
     { 
      "taskName": "nunit3-console.exe", 
      "args": [ 
       "${workspaceRoot}/src/Example.sln" 
      ], 
      "showOutput": "always" 
     } 
    ] 
} 
1

ten sam problem. Zmieniono bezpośrednią ścieżkę do msbuild naprawiono:

{ 
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format 
    "version": "0.1.0", 
    "windows": { 
     "command": "C:\\Program Files(x86)\\MSBuild\\14.0\\Bin\\MSBuild.exe" 
    }, 
    // "command": "msbuild", 
    "args": [ 
     // Ask msbuild to generate full paths for file names. 
     "/property:GenerateFullPaths=true" 
    ], 
    "taskSelector": "/t:", 
    "showOutput": "silent", 
    "tasks": [ 
     { 
      "taskName": "build", 
      // Show the output window only if unrecognized errors occur. 
      "showOutput": "silent", 
      // Use the standard MS compiler pattern to detect errors, warnings and infos 
      "problemMatcher": "$msCompile" 
     } 
    ] 
} 
Powiązane problemy