Я работаю над репозиторием, который содержит код для VisualStudio и Linux. Большая часть моей работы выполняется в Linux, но когда мне нужно запустить VS, я выполнил монтирование NFS с помощью следующей команды:
C:\Users\Administrators> mount \\192.168.22.28\root\nfs X:
X: is now successfully connected to \\192.168.22.28\root\nfs
The command completed successfully.
Я изменил ключи реестра на fool windows в используя мои Linux (работающие на ВМ) UID и GID в качестве значений по умолчанию. Все отлично работало, но теперь я сталкиваюсь с проблемой, когда один из файлов решения VS, который я использую, зависит от файла Form1.cs . Похоже, что система MicroSoft заблокировала этот файл, и это приводит к:
Couldn't process file Form1.resx due to its being in the Internet or Restricted zone or having the mark of the web on the file. Remove the mark of the web if you want to process these files.
Предлагаемое решение состоит в том, чтобы использовать повышенный PowerShell для выдачи: ublockFile , и хотя PS без расширения допускает Мне сделать это (без фактической разблокировки файла), повышенные PS не делает. Доступ к файлу осуществляется через подключенный диск, как показано выше, но он не виден повышенному PS, когда я получаю это сообщение:
Unblock-File : Cannot find drive. A drive with the name 'X' does not exist.
At line:1 char:1
+ Unblock-File X:<path to file>\Form1.resx
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (X:String) [Unblock-File], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.UnblockFileCommand
Кто-нибудь знает, как я могу обойти это? Либо заставив понять сопоставление диска повышенным PS, либо предложив альтернативный способ разблокировки файла.
Примечание: Другие решения говорят, что смотрят атрибуты файла из проводника, но эти Атрибуты обычного файла отличаются от атрибутов файла, смонтированного в NFS, и индикатор блокировки там не отображается .
Ваша помощь очень ценится.