Файл манифеста приложения, вызывающий проблемы в среде Win 7 - PullRequest
2 голосов
/ 27 июля 2010

Мое приложение было обновлено с .net 1.1 до 3.5. В 64-битной среде win 7 я должен вручную удалить файл app.exe.manifest, иначе он вылетает при запуске.

Я использую Visual Studio для установки и развертывания проекта. В настройках приложения exe я перепробовал все параметры раскрывающегося списка, относящиеся к тому, какой файл манифеста использовать, включая его использование (манифест все еще создается).

В идеале мне бы хотелось, чтобы офис выглядел и чувствовал себя, но в худшем случае, когда он работает полностью, хорошо сейчас, с или без.

Любая помощь приветствуется.

Обновление: файл манифеста

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
    type="win32"
    name="Microsoft.Windows.Common-Controls"
    version="6.0.0.0"
    processorArchitecture="x86"
    publicKeyToken="6595b64144ccf1df"
    language="*"/>
</dependentAssembly>

Итак, для 64-битной среды это явно не сработает, но я добавляю, что это манифест, который создается, когда я устанавливаю «Создание приложения без манифеста» в настройках приложения.

1 Ответ

0 голосов
/ 11 марта 2011

а) Используете ли вы какие-либо нативные библиотеки?Я имею в виду неуправляемые (.NET)?

b) У вас есть проблемы с 32-битными платформами Win7?Или только 64-битные платформы?

c) Скриншот фактической ошибки был бы очень полезен здесь.

d) Если вы используете несколько DLL-файлов в вашем exe, то информация о них будетбольшая помощь в отладке.

Вот удар с ограниченной информацией ...

Однажды у меня была похожая проблема, потому что одна из библиотек была 32-битной, в то время как целевая платформадля exe было «любое», т.е. на 64-битной платформе приложение .NET загружалось как 64-битное и вызывало проблемы, когда поток выполнения достиг точки, где была загружена 32-битная библиотека.

Надеюсьэто помогает.

...