Я пытался скомпилировать программу, но терминал не открывается.
ошибка: не удалось запустить процесс терминала: начальный каталог (cwd) «D:vs codemarch long 2020» не существует.
у этого парня такая же ошибка, но всплывающее окно отличается от ссылки
ниже JSON файл моего vscode
см. эту ссылку для полного описания ошибки, я написал код, скомпилировал и получил сообщение об ошибке. ссылка
user10219004 01 авг ’20 в 10:31 2020-08-01 10:31
2020-08-01 10:31
12 ответов
Была та же проблема, что и я изменил оболочку по умолчанию в VS Code на Powershell. В моем случае PowerShell заблокирован администратором компании.
Этот параметр разбивает окно моего терминала:
После этого я не мог снова открыть терминал.
Чтобы снова получить CMD по умолчанию, мне пришлось изменить путь в настройках VS Code:
- откройте Настройки> Настройки (CTRL+,)
- искать terminal.integrated.shell.windows
- щелкнуть Edit in settings.json
- установить путь CMD «terminal.integrated.shell.windows»: «C:\windows\System32\cmd.exe»,
SOLVED I cannot find win32 console application in visual studio 2105
Теперь терминал должен снова открыться. Это не способ заставить Powershell работать в VS Code, это просто руководство по восстановлению окна терминала.
user10944219 02 сен ’20 в 14:19 2020-09-02 14:19
2020-09-02 14:19
Похоже, вы пытаетесь установить Powershell на интегрированном терминале VS Code.
Дай мне рассказать, как я это сделал.
- Открыть VS-код
- Перейдите в Файл> Настройки> Настройки.
- Введите «Терминал» в строке поиска.
- В разделе «Возможности»> щелкните «терминал».
- Прокрутите вниз, пока не найдете такой раздел, и убедитесь, что опция пуста (это устанавливает начальный каталог по умолчанию):
Терминал ›Интегрированный: Cwd Явный стартовый путь, по которому терминал будет запущен, он используется в качестве текущего рабочего каталога (cwd) для процесса оболочки. Это может быть особенно полезно в настройках рабочего пространства, если корневой каталог не является удобным cwd.
- Прокрутите вниз, пока не найдете этот другой вариант
Терминал ›Интегрированный› Оболочка: Windows Путь к оболочке, которую терминал использует в Windows (по умолчанию:
- Нажмите на редактирование settings.json
- Вставьте абсолютный путь вашего терминала в скобки (убедитесь, что вы избегаете косой черты), поэтому я использую двойной
user11941146 16 янв ’21 в 04:04 2021-01-16 04:04
2021-01-16 04:04
К вашему сведению, я столкнулся с той же проблемой, когда назвал свой родительский каталог 3-байтовыми символами. Для решения проблемы имя каталога изменено на алфавитное.
02 май ’21 в 06:03 2021-05-02 06:03
2021-05-02 06:03
fix error visual studio the system cannot find the file specified | visual studio
Была такая же проблема на моем Mac. Решил, добавив
user5774907 02 май ’21 в 10:52 2021-05-02 10:52
2021-05-02 10:52
У меня была такая же проблема с VS Code, работающим в Windows, при подключении к удаленному Linux. Вероятно, это произошло, поскольку во время предыдущего сеанса я удалил каталог на пульте дистанционного управления, и теперь он пытался запустить оболочку в этом каталоге. Простое воссоздание каталога (пустого) решило проблему для меня.
user2164368 17 июн ’21 в 10:30 2021-06-17 10:30
2021-06-17 10:30
Я тоже столкнулся с той же проблемой, но я не смог найти решение. У меня есть другое решение для этого..
- Установите ссылку git bash. (https://git-scm.com/downloads).
- Откройте файл settings.json. измените путь терминала туда, где вы установили git-bash. т.е. в «terminal.integrated.shell.windows»:
например:- «terminal.integrated.shell.windows»: «C:Program FilesGitgit-bash.exe» в моем случае. ПРИМЕЧАНИЕ:- путь содержит двойной обратный слеш ( ). - нажмите ctrl+`. Внешний Терминал открывается в текущем каталоге.
- теперь скомпилируйте свой код:)
user8038134 01 авг ’20 в 14:19 2020-08-01 14:19
2020-08-01 14:19
Иногда в VS CODE путь к профилю командной строки по умолчанию не совпадает, поэтому невозможно запустить терминал.
Решение 1: попробуйте исправить этот путь: «terminal.integrated.shell.windows»: «C:WindowsSystem32cmd.exe» .
нажмите ctrl+p , чтобы открыть файл settings.json,
найдите строку: terminal.integrated.shell.windows»: «C:WindowsSystem32cmd.exe и обновите с приведенной ниже конфигурацией,
«terminal.integrated.profiles.windows»: < «my-pwsh»: < «source»: «PowerShell», «args»: [«-NoProfile»] >>, //»terminal.integrated.shell.windows»: «C:\Windows\System32\cmd.exe», «terminal.integrated.defaultProfile.windows»: «Command Prompt»,
user11893958 20 мар ’22 в 17:49 2022-03-20 17:49
2022-03-20 17:49
Если вы используете Windows, перед выполнением любого из этих шагов попробуйте выполнить полное выключение или перезагрузку.
Нажмите и удерживайте клавишу Shift и выключите или перезагрузите компьютер с начальной строки.
Много раз помогал вернуть терминал.
user16127668 17 июн ’21 в 10:11 2021-06-17 10:11
2021-06-17 10:11
Я получал эту ошибку «Не удалось запустить процесс терминала: путь к исполняемому файлу оболочки» C: Program Files PowerShell 7 pwsh.exe «не существует» Я заметил, что я не установил powershell 7, поскольку я установил это ошибка была решена
или если мы хотим продолжить с той же Powershell, что у нас есть в нашей системе, мы должны изменить путь, отредактировав параметр файла jason> terminal.integrated.shell.windows> Изменить в настройке.jason введите описание изображения здесь
закомментируйте «terminal.integrated.shell.windows»: «C: Program Files PowerShell 7 pwsh.exe» и раскомментируйте «terminal.integrated.shell.windows»: «C: WINDOWS System32 WindowsPowerShell v1.0 powershell.exe»,введите здесь описание изображения.
20 авг ’21 в 07:42 2021-08-20 07:42
2021-08-20 07:42
Я смог исправить это, добавив «type»: «shell» к задаче. Похоже, что по умолчанию «type»: «process» и это не давало возможности запускать задачу. Типу процесса потребуется структура окон / команд, как описано здесь: https://code.visualstudio.com/docs/editor/tasks#_operating-system-specific-properties .
user7386278 03 сен ’21 в 19:01 2021-09-03 19:01
2021-09-03 19:01
Перейдите к настройке кода Visual Studio и отключите это свойство powershell.integratedConsole.suppressStartupBanner. У меня это сработало. Я использую код VS версии 1.62.3.
Источник: stackru.com
Устранение неполадок при использовании средств .NET
При попытке установить или запустить глобальное или локальное средство .NET могут возникнуть проблемы. В этой статье описываются их типичные первопричины и возможные решения.
Установленное средство .NET не запускается
Если средство .NET не запускается, наиболее вероятной причиной является одна из следующих:
- Исполняемый файл средства не найден.
- Не найдена правильная версия среды выполнения .NET.
Исполняемый файл не найден
Если исполняемый файл не найден, появляется примерно следующее сообщение.
Could not execute because the specified command or file was not found. Possible reasons for this include: * You misspelled a built-in dotnet command. * You intended to execute a .NET program, but dotnet-xyz does not exist. * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
Имя исполняемого файла определяет то, как вызывается средство. Формат описывается в приведенной ниже таблице.
dotnet-.exe | dotnet |
.exe |
Глобальные средства
Глобальные средства можно установить в каталоге по умолчанию или в выбранном вами расположении. Каталоги по умолчанию:
Linux/macOS | $HOME/.dotnet/tools |
Windows | %USERPROFILE%.dotnettools |
Если вы пытаетесь запустить глобальное средство, убедитесь в том, что переменная среды PATH на компьютере содержит путь, по которому установлено глобальное средство, и что исполняемый файл находится по этому пути.
Интерфейс .NET CLI пытается добавить расположение по умолчанию в переменную среды PATH при первом использовании. Однако есть определенные ситуации, когда расположение не удается добавить в переменную PATH автоматически:
- используется ОС Linux, и пакет SDK для .NET установлен с помощью файлов .tar.gz, а не apt-get или rpm;
- используется ОС macOS 10.15 «Catalina» или более поздней версии;
- используется ОС macOS 10.14 «Mojave» или более ранней версии, и пакет SDK для .NET установлен с помощью файлов .tar.gz, а не .pkg;
- установлен пакет SDK для .NET Core 3.0, и переменной среды DOTNET_ADD_GLOBAL_TOOLS_TO_PATH присвоено значение false ;
- установлен пакет SDK для пакет SDK.NET Core 2.2 или более ранней версии, и переменной среды DOTNET_SKIP_FIRST_TIME_EXPERIENCE присвоено значение true .
В таких сценариях, а также если указан параметр —tool-path , в переменную среды PATH на вашем компьютере не будет автоматически добавляться путь, по которому было установлено глобальное средство. В этом случае необходимо добавить в переменную среды PATH расположение этого средства (например, $HOME/.dotnet/tools ) с использованием любого метода обновления переменных среды, предусмотренного в вашей оболочке. Дополнительные сведения см. в разделе о средствах .NET.
Локальные средства
Если вы пытаетесь запустить локальное средство, убедитесь в наличии файла манифеста с именем dotnet-tools.json в текущем каталоге или в любом из его родительских каталогов. Этот файл также может находиться в папке .config где угодно в иерархии папок проекта, а не в корневой папке. Если файл dotnet-tools.json существует, откройте его и проверьте наличие средства, которое вы пытаетесь запустить. Если в файле нет записи для «isRoot»: true , также проверьте наличие дополнительных файлов манифестов средств выше в иерархии файлов.
Если вы пытаетесь запустить средство .NET, которое было установлено по указанному пути, необходимо включить этот путь при использовании средства. Пример средства, установленного по определенному пути:
..\dotnet-
Среда выполнения не найдена
Средства .NET — это приложения, зависящие от платформы, то есть от среды выполнения .NET, установленной на компьютере. Если ожидаемая среда выполнения не найдена, они следуют обычным правилам наката среды выполнения .NET:
- Накат выполняется к последнему номеру выпуска исправления указанной основной и дополнительной версии.
- Если соответствующая среда выполнения с соответствующими номерами основной и дополнительной версий отсутствует, используется следующий последний дополнительный номер версии.
- Накат не выполняется между предварительными версиями среды выполнения или между предварительной версией и версией выпуска. Таким образом, средства .NET, созданные с помощью предварительных версий, должны быть перестроены и повторно опубликованы автором, а затем переустановлены.
Накат не выполняется по умолчанию в двух распространенных сценариях:
- доступны только более ранние версии среды выполнения; при накате выбираются только более поздние версии среды выполнения;
- доступны только более поздние основные версии среды выполнения. При накате границы основной версии не пересекаются.
Если приложению не удается найти подходящую среду выполнения, оно не запускается и сообщает об ошибке.
Узнать, какие среды выполнения .NET установлены на компьютере, можно с помощью следующих команд:
dotnet —list-runtimes dotnet —info
Если вы считаете, что средство должно поддерживать версию среды выполнения, установленную в настоящее время, обратитесь к автору средства и узнайте, может ли он обновить номер версии или перенацелить средство на несколько версий. После того как автор перекомпилирует и повторно опубликует пакет средства в NuGet с обновленным номером версии, вы можете обновить свою копию. Пока же этого не произошло, проще всего установить версию среды выполнения, совместимую со средством, которое вы пытаетесь запустить. Чтобы скачать определенную версию среды выполнения .NET, перейдите на страницу скачиваемых файлов .NET.
Если пакет SDK для .NET устанавливается в месте, отличном от расположения по умолчанию, необходимо присвоить переменной среды DOTNET_ROOT каталог, содержащий исполняемый файл dotnet .
Не удается установить средство .NET
Установка глобального или локального средства .NET может завершиться сбоем по ряду причин. Если при установке средства происходит сбой, появляется примерно следующее сообщение:
Tool » failed to install. This failure may have been caused by: * You are attempting to install a preview release and did not use the —version option to specify the version. * A package by this name was found, but it was not a .NET tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. For more reasons, including package naming enforcement, visit https://aka.ms/failure-installing-tool
Помимо предыдущего сообщения, пользователю также выводятся сообщения NuGet, помогающие диагностировать эти сбои. Сообщение NuGet может помочь определить причину проблемы.
- Изменение имен пакетов
- Предварительные выпуски
- Пакет не является средством .NET
- Веб-канал NuGet недоступен
- Неправильный идентификатор пакета
- 401 (Не авторизовано)
Изменение имен пакетов
Корпорация Майкрософт изменила правила в отношении идентификаторов пакетов для средств, из-за чего некоторые средства теперь невозможно найти по прежним именам. Новое руководство заключается в том, что все средства Майкрософт должны иметь префикс «Майкрософт». Этот префикс зарезервирован и может использоваться только для пакетов, подписанных с помощью сертификата майкрософт.
Во время перехода некоторые средства Майкрософт будут иметь старую форму идентификатора пакета, а другие — новую форму:
dotnet tool install -g Microsoft. dotnet tool install -g
По мере обновления идентификаторов пакетов необходимо будет перейти на новый идентификатор, чтобы получить последние обновления. Пакеты с упрощенными именами средств станут нерекомендуемыми.
Предварительные выпуски
- Вы пытаетесь установить предварительный выпуск и не использовали параметр —version для указания версии.
Если средство .NET находится на стадии предварительной версии, это должно быть указано в части имени. Указывать предварительную версию полностью не нужно. Если номера версий имеют ожидаемый формат, можно использовать нечто подобное:
dotnet tool install -g —version 1.1.0-pre
Пакет не является средством .NET
- Пакет NuGet с таким именем найден, но не является средством .NET.
При попытке установить пакет NuGet, который является обычным пакетом NuGet, а не средством .NET, вы увидите такое сообщение об ошибке:
NU1212: недопустимое сочетание проекта и пакета для . Стиль проекта DotnetToolReference допускает только ссылки типа DotnetTool.
Веб-канал NuGet недоступен
- Не удается получить доступ к требуемому веб-каналу NuGet, возможно, из-за проблемы с подключением к Интернету.
Для установки средства требуется доступ к веб-каналу NuGet, содержащему пакет средства. Установка завершается сбоем, если этот веб-канал недоступен. Вы можете изменить веб-каналы с помощью nuget.config , запросить определенный файл nuget.config или указать дополнительные веб-каналы с помощью параметра —add-source . По умолчанию NuGet выдает ошибку для каждого веб-канала, к которому не удается подключиться. Флаг —ignore-failed-sources позволяет пропускать недоступные источники.
Неправильный идентификатор пакета
- Вы неправильно ввели имя средства.
Распространенной причиной ошибок является неправильное имя средства. Такое может случаться из-за ошибок при вводе или из-за того, что средство было перемещено либо устарело. Если средство размещено на сайте NuGet.org, один из способов гарантировать правильность имени — выполнить поиск средства на сайте NuGet.org и скопировать команду установки.
401 (не санкционировано)
Скорее всего, вы указали альтернативный канал NuGet, и этот канал требует проверки подлинности. Вот несколько разных способов решить проблему:
-
Добавьте параметр —ignore-failed-sources , чтобы обойти ошибку из закрытого канала и использовать общедоступный канал Майкрософт. Если вы устанавливаете средство из канала Microsoft NuGet, пользовательский канал возвращает эту ошибку, прежде чем канал Microsoft NuGet вернет результат. Ошибка завершает запрос, отменяя любые другие ожидающие запросы канала, который может быть каналом Microsoft NuGet. Добавление параметра —ignore-failed-sources приводит к тому, что команда обрабатывает эту ошибку как предупреждение и позволяет другим каналам обработать запрос.
dotnet tool install -g —ignore-failed-sources
dotnet tool install -g —add-source ‘https://api.nuget.org/v3/index.json’ —ignore-failed-sources
dotnet tool install -g —configfile «./nuget.config»
Источник: learn.microsoft.com
Не удается запустить консольное приложение из Visual Studio: System.AccessViolationException
При запуске любого Консольного приложения код немедленно прекращает работу над AccessViolationException (Дополнительная информация: Попытка чтения или записи защищенной памяти. Это часто свидетельствует о том, что другая память повреждена). Дополнительная информация включена в следующий раздел.
Технические симптомы
В стеке вызовов содержится только внешний код:
Исключение: выбрано: «Фильтр сообщений показал, что приложение занято. > (Исключение из HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))» (System.Runtime.InteropServices.COMException) Возникло сообщение System.Runtime.InteropServices.COME: «Фильтр сообщений показал, что приложение занято. (Исключение из HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))» Время: 12/10/2015 10:59:55 AM Тема: vshost.NotifyLoad [15344]
Я создал новое консольное приложение, содержащее только Console.WriteLine( «Hello world!» );
Запуск нового приложения Hello world приводит к тому же исключению и идентичному
стек вызовов.
Фон
Я подозреваю, что это не имеет ничего общего с этой проблемой, как я объясню, но я чувствую, что важно ответить на очевидный вопрос: «Что вы делали, когда проблема возникала?» Последнее изменение, которое я сделал, это добавление расширения к моему драйверу Selenium для выхода из режима hotkey из приложения:
public static void logout(this IWebDriver Driver)
Driver.FindElement(By.TagName(«body»)).Click();
new Actions(Driver)
.SendKeys(Keys.Control + Keys.Shift + «x»)
.Perform();
>
Я также внес изменения в свой файл App.Config для одного из моих проектов, но возврат его тоже не повлиял.
Удаление этого кода (расширение драйвера и/или изменение App.Config) не разрешает эту проблему. Получение предыдущей регистрации не разрешает проблему. Я единственный человек, который сейчас работает над этим решением.
Находки
Как уже упоминалось, это происходит для пустого консольного приложения. Приложения Windows Form запускаются нормально. Unit Test Проекты также прекрасны.
Исследование
Я потратил часы, изучая это. Кажется, что каждая подобная проблема, которую я изучил, имеет отношение только к отладке или к версии .NET. Для меня проблема возникает и с Release. Кроме того, я использовал .NET 4.5 без каких-либо проблем или изменений на этом фронте. Я не могу найти статьи, которые, похоже, стоит опубликовать, но я мог бы что-то забыть.
Информация о Visual Studio
Microsoft Visual Studio Ultimate 2013
Версия 12.0.30501.00 Обновление 2
.NET Version 4.6.00081 (только что заметил, что он говорит 4.5 в моих свойствах проекта)
Выполняется как администратор
Обратная связь
При запуске из devenv.exe/SafeMode Visual Studio загружается с помощью
При построении содержимого этого фрейма было обнаружено исключение. Эта информация также регистрируется в «C:UsersUserNameAppDataRoamingMicrosoftVisualStudio12.0ActivityLog.xml».
Сведения об исключении: System.UnauthorizedAccessException: доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED)) в Microsoft.VisualStudio.Shell.Interop.IVsShell5.LoadPackageWithContext(Guid context) в Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.GetPackage() в Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.ConstructContent()
Кроме того, при попытке запуска появляется сообщение об ошибке «Ошибка при попытке запуска проекта: Invalid Pointer» (опять же, VS в файле devenv.exe/SafeMode — см. как для запуска визуальной студии без плагина и всех сторонних функций, если они не знакомы)
Пожалуйста, дайте мне знать, могу ли я предоставить дополнительную информацию.
Источник: progi.pro