Visual Studio не видит все файлы в System32

Я установил несколько команд после сборки в Visual Studio 2017, которые должны позволить мне запустить программу, которая у меня сейчас есть в System32 (wsl.exe). Однако Visual Studio не видит программу.

Я попытался установить команду на dir C:\Windows\System32\, чтобы увидеть все файлы, которые он мог перечислить, и на самом деле он не перечисляет более 1000 файлов из примерно 4600 файлов, которые у меня есть, включая файл wsl.exe, который я пытаюсь бежать. Количество файлов отображается правильно при запуске той же команды в командной строке.

Я попытался запустить whoami в качестве команды после сборки, и она возвращает того же пользователя, как если бы я запустил ту же команду в командной строке.

Я что-то упускаю?

При чем здесь Visual Studio? wsl - это Подсистема Windows для Linux. Это не просто исполняемый файл. Вы жестяная банка запускаете его из любой папки, так как он находится в пути. Просто введите wsl.

Panagiotis Kanavos 10.09.2018 10:20

Это связано с Visual Studio, поскольку она вообще не может видеть файл wsl при выполнении с ним команды dir. Я знаю, что могу запустить его из любой папки, и поскольку он выдавал ошибку "wsl is not recognized as an internal or external command, operable program or batch file.", я попробовал больше шагов и пришел к выводу, что при запуске dir в командах после сборки он не отображал все файлы в каталоге. . И все это, пока я могу правильно видеть файл с помощью командной строки Windows.

PeterAS17 10.09.2018 10:23

1) без репродукции. Я это вижу и называю просто прекрасным 2) Это не имеет ничего общего с VS. dir - это команда командной строки. Вы спрашиваете, почему вы не видите некоторые файлы в System32, не указывая, что это за файлы. 3) Какой wsl? Он вообще существует? Он установлен? Вы пытаетесь запустить оболочку Unix на этапе после сборки?

Panagiotis Kanavos 10.09.2018 10:25

О вашем номере 2): тогда почему при запуске команды dir в VS не отображается файл wsl.exe, при запуске ls -al /mnt/c/Windows/System32 в WSL он отображается, и в командной строке, запускаемой `dir C: \ Windows \ System32`, также отображается. Для вашего номера 3): я уточнил, что в сообщении говорится, что действительно У меня сейчас в System32 (wsl.exe), так что да, он существует.

PeterAS17 10.09.2018 10:29

возможный дубликат Запуск сборки на основе WSL bash из Visual Studio 2015

phuclv 10.09.2018 11:14
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
5
894
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сама Visual Studio - это 32-битное приложение. Таким образом, ОС изменяет поведение приложения на другой вид папок Windows и System32. то есть c:\Windows\System32 в приложении на самом деле является папкой c:\Windows\SysWow64 для 32-битных приложений. Это объясняет, почему он не видит двоичный файл wsl.exe ... Не уверен, что можно обойти ... изучаю это ...

wsl - это подсистема Windows для Linux. Это тоже не пропало, запуск dir wsl.exe внутри System32 работает, если, конечно, эта функция установлена. В любом случае OP не должен ничего помещать в System32.
Panagiotis Kanavos 10.09.2018 10:22

Не «помещать что-либо в System32». WSL был автоматически установлен там с помощью программ и компонентов в панели управления. Еще попробую, @selbie

PeterAS17 10.09.2018 10:25

@ PeterAS17, ты не объяснил, что пытаешься сделать. Или какой WSL вы имеете в виду. Я могу запустить WSL, подсистему Windows для Linux, просто набрав wsl в консоли любой. Я прекрасно вижу это с dir после изменения текущего каталога на C:\Windows\System32. Я тоже это вижу с dir c:\Windows\system32\wsl.exe.

Panagiotis Kanavos 10.09.2018 10:27

@PanagiotisKanavos, чтобы прояснить вывод с каждой стороны: VS показывает «Файл не найден» с помощью dir c:\Windows\system32\wsl.exe. Командная строка показывает файл: 06.09.2018 15:02 114 688 wsl.exe

PeterAS17 10.09.2018 10:31

@ PeterAS17, ваш вопрос настоящий заключался в том, как запустить этап сборки Linux. На это уже ответили в этом повторяющемся вопросе

Panagiotis Kanavos 10.09.2018 10:36

@selbie Вы совершенно правы ... Я не обратил внимания на то, что VS было 32-битным приложением, и проигнорировал тот факт, что оно указывает на папку SysWow64. Копирование и вставка необходимых файлов для команды после сборки, похоже, на данный момент сделали свою работу. Должен найти лучший способ обхода, если таковой имеется. Спасибо!

PeterAS17 10.09.2018 10:36
Перенаправитель файловой системы: «32-разрядные приложения могут получить доступ к собственному системному каталогу, заменив% windir% \ System32% windir% \ Sysnative. WOW64 распознает Sysnative как специальный псевдоним, используемый для указания того, что файловая система не должна перенаправлять доступ».
Damien_The_Unbeliever 10.09.2018 10:36

Другие вопросы по теме