Как включить поведение "Long Path Aware" через манифест в исполняемом файле C++?
Я пытаюсь следовать документации Microsoft, чтобы поднять MAX_PATH
ограничение пути к файлу в API под Windows 10. Там написано:
Вы также можете включить новое поведение длинного пути для приложения через манифест:
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
<ws2:longPathAware>true</ws2:longPathAware>
</windowsSettings>
</application>
Итак, первый вопрос. Возможно ли включить его в свойствах проекта в Visual Studio 2017?
Второй вопрос: я не смог найти ответ выше, поэтому я решил пойти ручным путем:
Я создал
additional.manifest
текстовый файл как таковой:<?xml version="1.0" encoding="utf-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" > <application xmlns="urn:schemas-microsoft-com:asm.v3"> <windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings"> <ws2:longPathAware>true</ws2:longPathAware> </windowsSettings> </application> </assembly>
Затем я добавил его в свойства проекта:
- Но потом, когда я его скомпилировал, он выдает мне это предупреждение, и этот манифест, похоже, не действует при запуске приложения:
1> Additional.Manifest: предупреждение создания манифеста 81010002: Нераспознанный элемент "longPathAware" в пространстве имен " http://schemas.microsoft.com/SMI/2016/WindowsSettings ".
Так что я делаю не так?
1 ответ
Нет. В свойствах проекта Visual Studio 2017 v15.9.4 для рабочего стола Windows или консольных приложений нет переключателя для включения "Long Path Aware".
Документация Microsoft, на которую вы ссылались выше, гласит следующее:
Начиная с Windows 10 версии 1607 ограничения MAX_PATH были удалены из общих функций файлов и каталогов Win32. Тем не менее, вы должны подписаться на новое поведение.
Убедитесь, что вы используете Windows SDK для Windows 10 версии 1607 или выше для используемой конфигурации и текущего набора инструментов. Вам нужен как минимум Windows SDK v10.0.14393.795. Текущая версия v10.0.17763.0.
Вы можете найти и изменить целевую версию Windows SDK и целевой набор инструментов на странице свойств "Общие" свойств проекта.
Примечание: Сделайте общие изменения конфигурации активными во всех конфигурациях. Измените параметры конфигурации листа свойств на "Все конфигурации" и "Все платформы", за исключением того, что вы вносите изменения специально для платформы.