2015-06-09 3 views
20

Я хочу попробовать новый редактор от Microsoft - код Visual Studio. Я хочу реализовать простое приложение (например, Hello, World) и уметь его отлаживать. Но после многих попыток и попыток, я не смог этого сделать. Это возможно? У меня установлена ​​Windows 10 с установленной Visual Studio 2015.Код Visual Studio, поддержка C# в Windows

То, что я пытался сделать:

1) раскомментируйте следующие в файле 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" 
    } 
] 

Но компиляции (Ctrl-Shift-B) завершается с ошибкой: " не удалось запустить внешнюю программу MSBuild икру MsBuild ENOENT. «

2) Прочитайте эту статью: http://michaelcrump.net/creating-and-debugging-console-apps-with-vscode/, но у меня нет какой-либо файл project.json, также„dnx . run“завершается с ошибкой» System.InvalidOp erationException: Не удалось решить проект «

Есть ли простой способ запускать простое приложение C# в коде VS? Мне интересно, почему это так сложно. Наверное, я что-то пропускаю, любые идеи приветствуются.

Update 1: Добавление MSBuild в пути помогает

+0

VS Code по-прежнему имеет ограниченные возможности. Вам будет намного проще запустить ваше простое приложение C# в Visual Studio 2015. – natemcmaster

+0

У вас получилось? Я также только что нашел VSC, и это будет отличная быстрая альтернатива VS для небольших изменений, но я получаю ту же ошибку. – svanelten

+0

@svanelten, к сожалению, нет. Но я использовал старую версию VS Code, какая у вас версия? – pfedotovsky

ответ

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.

от: code.visualstudio.com/Docs/languages/csharp


Update, июнь 2017:

C# поддерживается в Visual Studio код, используя VS от Microsoft Код C#: https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp

Это может быть установлено путем поиска 'C#' в расширениях: Install Extension. Кроме того, при открытии файла .cs следует запросить установку расширения.

Это расширение поддерживает отладку приложений C#, работающих на .NET Ядро или Mono, однако не поддержка отладки приложений, запущенных на Desktop .NET Framework - Visual Studio Community еще рекомендуется для полной. NET поддержка проекта.

Для получения дополнительной информации о поддержке VS Кодекса C#, см https://code.visualstudio.com/docs/languages/csharp

На странице торговой площадки для расширения VS кода C#, см https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp

4

Вы можете настроить msbuild для создания полных .NET приложения появится только штраф, примечания вы либо должны иметь msbuild по пути, либо указать полный путь к нему в command.Это то, что пример сборка задача (связанная с ctrl + shift + b) выглядит следующим образом:

{ 
    // 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: Если вы хотите настроить как здание и модульное тестирование работает, вы можете использовать что-то вроде этого (использует nunit консоль бегун и cmd как задача взломать вокруг vscode ограничение поддержки только одну задачу):

{ 
    "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

была та же проблема. Изменен прямой путь к msbuild исправлен:

{ 
    // 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" 
     } 
    ] 
} 
Смежные вопросы