Не удалось найти задачу build visual studio code
When I try to run it in the Visual Studio Code debugger, I get:
Visual Studio Code generated these files for me:
I have tried the same on both a Windows machine and a Mac with the same problem. If I do the command "dotnet restore" and "dotnet run", the code runs with no problems, but I still get the same error: "Could not find the preLaunchTask 'build'"
I think Prelaunch task only works with the version set to 2.0.0 in tasks.json. have a look at the sample provided by jagadeesh.
6 Answers 6
For me, it works to restart VS Code after tasks.json and/or launch.json files creation.
Also note, that you need to update "program" settings in launch.json with the path to dlls.
Thanks restarting VS Code got me past the problem. But, now it complains about problems like: "Predefined type 'System.Object' is not defined or imported. " Shouldn't VS Code also prompt for a "dotnet restore" to be performed from VS Code? I think I have seen that before.
In general, it should. Not sure how right now VS code decides when to show that prompt. Anyway, you always may manually do dotnet restore from the terminal inside VS Code.
I also can't recall that I had to manually set the path to the program to debug in the launch.json file. Why can't VS Code do the tricks behind the scene? It should know where to find the executable without involving the user?
@OlavT this is the omnisharp-vscode responsibility and the team is going to provide such feature in future. You may look into this issue if interesting
Change tasks.json as below.
Yet another reason for this error could be, that the used launch configuration is defined inside my_project.code-workspace file (not in launch.json file).
In such case the tasks.json is not used, but tasks must be defined inside the my_project.code-workspace file.
This might be a "feature", but it behaves as a bug, because:
-
says: Workspace or folder specific tasks are configured from the tasks.json file in the .vscode folder for a workspace.
- The error "Could not find task 'xxx'." dialog window offers button: Configure Task which then opens or offer to create file ./.vscode/tasks.json
- There is no mention or visible hint while editing tasks.json file, that it will not be used.
This in comparison with e.g. editing setting.json, where in such case text is dimmed and on hover a message says: "This setting cannot be applied in this workspace. It will be applied when you open the containing workspace folder directly."
If a debugging session is started using debug config: my_debug_config (workspace), only tasks defined in my_project.code-workspace file are used.
But while still having the same workspace opened, selecting debug config: dir_debug_config (my_dir), which is defined in the launch.json file, will then use tasks from the tasks.json file.
Я хотел бы иметь возможность отлаживать приложение Angular2 с кодом Visual Studio.
вот мое окружение:
- OS: Ubuntu 16.10 x64
- Обозреватель: хром 53.0.2785.143
- узел: 6.8.0
- угловой-cli: 1.0.0-бета.19-3
создание нового проекта с помощью angular-cli :
затем я открываю VSC и загружаю проект: File/open folder
Я нажимаю на и я configure launch.json опции chrome . Он генерирует следующий файл :
затем я просто запускаю проект angular2, запустив:
после его запуска в VSC я выбираю: "запустить Chrome против localhost, с помощью sourcemaps".
затем я получаю следующую ошибку:
"Не удается найти chrome : установите его или задайте поле runtimeExecutable в конфигурации запуска."
Я :
"runtimeExecutable":"chromium-browser"
(как и я!--23-->не есть хром, но хром на моем Ubuntu).
угловой-CLI порт по умолчанию для запуска приложения - 4200. Изменить url с :"http://localhost:8080 "to"http://localhost:4200".
теперь браузер открывает приложение, но VSC имеет следующую ошибку: "Не удается подключиться к процесс выполнения, тайм-аут после 10000 МС - (причина: не удается подключиться к цели: connect ECONREFUSED 127.0.0.1:9222".
Я пытаюсь снова запустить отладку : та же ошибка, что и раньше (не удается подключиться).
Я также видел, что следующие аргументы могут помочь :
но это ничего не меняет.
я решил использовать VSC для моих разработчиков typescript (в основном angular2), и этот способ отладки кажется очень мощным. У меня такое чувство, что это было бы слишком плохо не использовать его :).
Спасибо за любую помощь !
редактировать 1: . Частичное улучшение . Я нашел способ получить отладочную информацию в консоли кода Visual Studio ! Так что это еще не идеально, поскольку точки останова не работают, но вот в чем дело. Пока что, если я открою http://localhost:9222 я ничего не видел. ("localhost не авторизовал соединение").
но, если я запускаю chromium так:
важно заметить, что аргумент : --user-data-dir=remote-profile . Если вы просто передадите --user-data-dir, он запустит новое окно без подключения. Но этого недостаточно. Вам нужно пройти удаленные-профиля как ценность.
- он открывает новый браузер окно
- я открываю http://localhost:4200 и я также могу достичь http://localhost:9222 !
- я могу подключить VSC с опцией "прикрепить к chrome с исходной картой"! (как вы можете видеть, у меня есть "угловые 2 работает в режиме развития. Вызовите enableProdMode (), чтобы включить режим производства."отображается в консоли, а нижний колонтитул теперь имеет оранжевый фон)
пока, я надеюсь это может помочь некоторым людям. Но проблема в том, что точки останова не работают.
У меня есть решение Visual Studio 2010 с несколькими проектами. Я могу успешно строить с помощью Build - > Build Solution или Build - > Build MyCompany.MyProduct.Мой проект. После сборки я нажимаю CTRL+F5 и успешно запускаю проект запуска. Это работает, как и ожидалось.
после изменения исходного файла сохраните его, а затем снова создайте (с помощью Build - > Build Solution или Build - > Build MyCompany.MyProduct.MyProject) он успешно строится. Я все еще могу нажать CTRL+F5 и запустить запускаемый проект. Это снова работает, как ожидалось.
проблема заключается в следующем сценарии: После изменения исходного файла сохраните его и нажмите CTRL+F5, затем Visual Studio 2010 скажет, что сборка не удалась, и ошибок нет. И это не запускает мой стартап-проект (конечно).
Я что-то пропустила?
закройте Visual Studio, удалите .suo файл для вашего решения. Это скрытый файл в Windows и содержит настройки пользователя, но он также может делать гадости.
кажется немного поздно, но то, что сработало для меня, было проверить мое окно вывода.
У меня была ссылка на функцию, которая не существует. Я не знаю, почему он никогда не появлялся в списке ошибок, но окно вывода сообщило мне, где именно проблема.
попробуйте повторить те же шаги, изменив местоположение, в котором вы компилируете/запускаете. Убедитесь, что ваше новое местоположение имеет меньше папок для перемещения по сравнению со старым местоположением. Длинный путь к исходному коду привел к аналогичной проблеме для меня, и я преодолел ее, выбрав более короткий путь.
Я закрыл свою visual studio.
удалены все папки bin. (У меня была странная ошибка разрешения, поэтому я удалил файлы и задний трек удалил папки, включая bin).
снова открыта visual studio. Выполняется сборка или перестройка, и все снова работает.
Проверьте физический путь проекта, если длинный , скопируйте проект в какую-нибудь папку корневого каталога с очень коротким именем. И попытайтесь построить свой проект.
У меня была эта проблема и было одно предупреждение, но не удалось найти ошибок. В конце концов я скопировал команду build из окна вывода в командное окно и запустил ее вручную - она выплюнула четыре ошибки после предупреждения. Я понятия не имею, почему это работает.
требуемая команда должна быть помечена как "CoreCompile" и выглядеть примерно так: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE;SILVERLIGHT;WINDOWS_PHONE /errorendlocation /preferreduilang:en-US /highentropyva- /reference:"C:\Dropbox\code
Если вы его не видите, попробуйте изменить настройки вывода сборки в разделе Инструменты - >Параметры - >проекты и Решения - >сборка и запуск, установите "MSBuild project build output verbosity" в нормальный или выше.
в случае, если некоторые другие люди испытывают эту проблему (я попытался сначала удалить файл SUO, но это не сработало для меня):
Я решил это, создав пустой новый проект в моем решении и импортировав все исходные файлы в новый проект. Вероятно, проблема сидела в файле проекта.
У меня была такая же проблема, решена следующим шагом
перейдите в инструмент - > опция - >проекты и решение->общие, убедитесь, что установлен флажок "всегда показывать список ошибок, если сборка заканчивается ошибками", в этом случае visual studio покажет список ошибок.
в моем случае я не видел ошибку контрактов кода в окне вывода:
Я решил это, отключив Результаты Кэша в коде контрактов windows для этого проекта, как было предложено в ответ.
Я работаю над проектом веб-сайта, который ссылается на проект библиотеки (в одном решении), когда я столкнулся с этой проблемой. Ошибка сборки, когда редактор выделял синтаксис и переходил к источнику. Очень неприятно.
после чистки решение, временные файлы, перезапуск VS и т. д., Я закончил тем, что исключил 2 оскорбительных файла, что позволило успешно построить решение, а затем, когда я снова включил их, все было построено правильно.
С. С. Позже я обнаружил ошибку в masterpage отделенного кода сайта (ссылки на значение перечисления, которое было удалено), который не отображается как ошибка. У меня были ошибки в masterpage codebehind причина (по-видимому) несвязанные проблемы раньше; я пытаюсь вспомнить, чтобы проверить там, где простого решения нет.
моя проблема возникла из преобразования функционального проекта vs2008 в vs2010. Все остальные проекты в решении встречались отлично, но этот построил бы часть MIDL, а затем остановился и потерпел неудачу. Подробные настройки сборки ничего не показали, поэтому, наконец, я создал совершенно новый проект со всеми файлами одинаково. Это сработало. Затем я сравнил настройки и, наконец, после изменения различных частей в соответствии, я обнаружил, что преобразованный проект имел MIDL - >General - > "Mktypelib Compatible", установленный в пусто. По-видимому, это был допустимый параметр в vs2008, но в vs2010 он, по-видимому, должен быть установлен в Да или нет (или наследовать).
это исправило мою проблему.
Если ваше решение содержит слишком много проектов ,
построить проекты индивидуально,
проверьте, какой проект не работает
для этого проекта проверьте ссылки этого проекта, если по какой-либо ссылке, если они имеют желтый цвет , удалите эту ссылку и добавьте ее снова , затем постройте и проверьте,
Это будет работать
проверьте окно вывода, каждую строку , в какой-то строке он может отображаться , зависимость-это их, но не нашел ее, то есть проблема, вызывающая
Это может быть связано с повреждением файла
имеет эту проблему при работе с рабочими процессами Sharepoint 2013 в VS 2013. Для ее решения сделали следующее:
- выгрузить worklfows (багги один) проект.
- удалить .csproj файл.файл пользователя
открыт .файл csproj в блокноте и удалите следующие строки:
после перезагрузки проекта в решение VS снова добавил точно такие же строки, но никаких проблем с LoaderException сейчас.
У меня сегодня этот вопрос. после изменения многословности сборки на диагностику, как предложил @Jac, я обнаружил, что проблема зависит от одного из моих файлов resx. По-видимому, одно изображение было corupted или было слишком большим, я удалил его, и он работал!
Я столкнулся с этой проблемой два дня назад. Я проверил выходные данные Windows, и я основал отсутствующую ссылку на VBIDE: не могу найти сборку оболочки для библиотеки типов VBIDE. Я показал все файлы в обозревателе решений, расширенные ссылки, и я нашел ссылку на эту сборку. Я не знаю, как эта ссылка попала в мой проект, и я был уверен, что она мне не нужна. Я просто удалил его и все было исправлено.
еще одна вещь, чтобы проверить, что если какой-либо из ваших исходных файлов открыты, он не сможет построить. Мне пришлось перезагрузить компьютер.
несколько раз, если путь к каталогу больше 248 символов, это приведет к сбою решения. Убедитесь, что полный путь меньше.Я столкнулся с той же проблемой, что и я, и это сработало для меня.
Could not find the preLaunch task 'build'
As a consequence, I could not inspect the variables defined in the script.
This is a copy of the launch.json file:
This is a copy of the tasks.json file:
How do I resolve this?
6 Answers 6
You can use the Visual Studio Code to solve it.
When you see the error message, click on the steps below
The VSCode will create a file like it:
It's finished. The VSCode will build the project before run.
In case you find it tough as a beginner to customise the prelaunch task with all the keywords and the placeholders stuff, you can just delete that element from the .json file and save it. Run whatever prelaunch task right before you debug the executable. That said, do take some time to understand how it all works in the VSCode online documentation.
Regarding OzzyTheGiant's comment: If your project is in a subdirectory, there's a simple example from Germán here on how to fix it.
The error occurs because Visual Studio Code cannot find any task in the tasks.json with the taskName value set to 'build' .
The preLaunchTask property of the launch.json file defines the task that should be executed before the script is launched. From the question, Visual Studio Code has been configured to run the task build before launching the script:
But there's no task named 'build' in the tasks.json file.
To fix this, you should change the value of the preLaunchTask property to 'exe' , which is the build task that has been defined in the tasks.json file.
@rbraun me too don't have exe task in default tasks.json so I removed it from launch.json and now its working.
Please note that taskName is deprecated and the tasks.json should use label to name the task. launch.json can then reference the task by that label.
It seems like this will be different for every scenario.
For me what @Jeferson Tenorio worked, but it needed a few more steps so let's add them:
Go to your launch.json file, and under configurations/program you will find this:
Simply replace and with your target framework, in my case that would be netcoreapp2.0 and then your project name (if you haven't changed anything your project name should be the same as the folder where you created your project), it should look something like this:
I hope this helps.
On Linux, to get the build command to work, I needed to change the tasks.json file from:
the reason for this is the fact that Linux will treat the task generated by VSC as running command "dotnet build" instead of "dotnet" with the parameter of "build". Without the change you will receive "dotnet build: command not found" with exit code 127
As suggested in the above answer, you need to have the launch items defined in launch.json file and not in blah.code-workspace file.
The latter doesn't read tasks defined in tasks.json but only those defined in the same .code-workspace file.
For Ubuntu Linux 20.04 LTS (but may well be the same on other OS's) what got preLaunchTask working for me, was using both a local tasks.json and launch.json
So my folder structure (pre-build) is:
My launch.json contains:
My tasks.json contains:
And my tsconfig.json contains:
Usage: whilst within the index.ts just hit F5 with a breakpoint set
I have also included another task, "myTask" you can change the preLaunchTask line in your launch.json to: "preLaunchTask": "myTask", (where it will output some text to console to verify preLaunchTask is now working)
That way, if you still have issues, you can see if the issue is in your tsconfig setup, or if it's a preTaskLaunch setup issue.
(I would have thought it should have resolved this itself, but apparently not at the current time of writing anyway - but does force the advantage (for me) of committing debug config to the repo on project basis rather than global config)
Could not find the preLaunch task 'build'
Как следствие, я не мог проверить переменные, определенные в скрипте.
Это копия файла launch.json :
Это копия файла tasks.json :
Как мне решить эту проблему?
Вы можете использовать код Visual Studio, чтобы решить эту проблему.
VSCode создаст такой файл:
С этим покончено. VSCode построит проект перед запуском.
Если вам, как новичку, сложно настроить задачу перед запуском со всеми ключевыми словами и заполнителями, вы можете просто удалить этот элемент из .json файла и сохранить его. Запустите любую задачу перед запуском прямо перед отладкой исполняемого файла. Тем не менее, вам нужно время, чтобы понять, как все это работает в онлайн-документации VSCode.
Ошибка возникает из-за того, что Visual Studio Code не может найти в файле tasks.json ни одной задачи со taskName значением, равным 'build' .
preLaunchTask Свойство launch.json файла определяет задачу , которая должна быть выполнена до того , как скрипт запускается. Из вопроса, Visual Studio Code был настроен для запуска задачи build перед запуском скрипта:
Но 'build' в файле tasks.json нет задачи, названной .
@rbraun у меня тоже нет задачи exe в task.json по умолчанию, поэтому я удалил ее из launch.json, и теперь она работает.
Обратите внимание, что taskName устарело, и в tasks.json следует использовать метку для присвоения имени задаче. launch.json может затем ссылаться на задачу по этой метке.
Похоже, что для каждого сценария это будет разное.
Для меня то, что работает @Jeferson Tenorio, но потребовалось еще несколько шагов, поэтому давайте добавим их:
Перейдите в свой launch.json файл и в разделе configurations / program вы найдете это:
Просто замените и на свою целевую структуру, в моем случае это будет, netcoreapp2.0 а затем имя вашего проекта (если вы ничего не изменили, имя вашего проекта должно совпадать с папкой, в которой вы создали свой проект), оно должно выглядеть примерно так :
Надеюсь, это поможет.
В Linux, чтобы заставить работать команду сборки, мне нужно было изменить файл tasks.json с:
Для Ubuntu Linux 20.04 LTS (но вполне может быть таким же в других ОС) то, что заставило preLaunchTask работать на меня, использовало как локальные задачи.json, так и launch.json.
Итак, моя структура папок (предварительная сборка):
Мой launch.json содержит:
Мой tasks.json содержит:
И мой tsconfig.json содержит:
Использование: находясь в index.ts, просто нажмите F5 с установленной точкой останова.
Я также добавил еще одну задачу, «myTask», вы можете изменить строку preLaunchTask в вашем launch.json на: "preLaunchTask": "myTask", (где он будет выводить текст на консоль, чтобы убедиться, что preLaunchTask теперь работает)
Таким образом, если у вас все еще есть проблемы, вы можете увидеть, связана ли проблема с настройкой tsconfig или с настройкой preTaskLaunch.
(Я бы подумал, что он должен был решить это сам, но, по-видимому, не в настоящее время в любом случае, но действительно дает преимущество (для меня) фиксации конфигурации отладки в репо на основе проекта, а не глобальной конфигурации)
Читайте также: