Как встроить манифест - Visual Studios - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть собственное приложение Win-Forms, которое делает собственный скриншот.Под Windows 10 при DPI другие 100%, скриншоты были смещены.Решением было добавить манифест, декларирующий осведомленность о DPI.

Все, что я обнаружил, говорит мне, что файл манифеста должен быть встроен в EXE, но Visual Studios 2017 создает отдельный файл (имя приложения) .manifest.Если я скопирую и исполняемый файл, и манифест на локальную машину, запуск приложения будет работать нормально.Но если я копирую только исполняемый файл, я получаю ту же ошибку смещения, что и раньше.Очевидно, манифест не встроен в исполняемый файл.

Далее, после запуска исполняемого файла без отдельного файла манифеста копирование файла манифеста больше не работает.Очевидно, что-то записывает, что этот исполняемый файл не имеет файла манифеста, поэтому его больше не надо искать.Мне нужно переименовать некоторую папку по пути, прежде чем запускать исполняемый файл будет использовать манифест и действовать с учетом DPI.

У меня есть файл app.manifest в моем проекте в обозревателе решений.В настройках приложения я выбрал «Значок и манифест», а «Манифест» - app.manifest.Свойства app.manifest имеют «Не копировать» в выходной каталог.Я обнаружил, что «Build Action» было «None», но также попробовал «Embedded Resource».Ни одна из настроек не имела значения.

Я бы действительно предпочел не использовать отдельный файл манифеста.Есть ли какая-то настройка, которую я пропускаю, из-за которой манифест является внешним?

Кроме того, если кто-нибудь знает, что я могу сделать, чтобы приложение хотя бы распознало файл манифеста после того, как он был запущен без него, без необходимости изменения пути, я был бы признателен, если бы знал об этом.

...