VistaBridgeLibrary на Windows 7
Скачал с MSDN библиотеки Windows 7 Desktop Integration, там есть VistaBridgeLibrary.
Не работает TaskDialog - пишет, что в comctl32 отсутствует точка входа TaskDialogIndirect.
Система 64-битная, ошибка появляется и при сборке x64, и x86.
Как это исправить?
Попробуйте добавить следующие строчки в файл манифеста проекта:
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
Мне помогло.
Какого проекта именно?
При сборке VistaBridge или именно проекта? Работать будет только x86 или и то, и другое?
именно проекта
насчет x64 не проверял, но должно работать
У меня эту функцию использует DLL, в неё?
И... а какой родительский тег для dependency?...
нет, в манифесте главного проекта исполняемого файла
там должен быть файл с расширением .manifest примерно такого вида:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
If you want to utilize File and Registry Virtualization for backward
compatibility then delete the requestedExecutionLevel node.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
вот перед последним закрывающим тегом
</asmv1:assembly>
добавьте то, что я выше писал
Stealth2006, похоже работает, и с x64!
Спасибо за помощь!
И, к слову... Как вы думайте, нормально ли 8-ми класснику, знающему только PHP с SQL и отчасти JS, начинать писать на C#.NET WPF?
izstas,
izstas писал:И, к слову... Как вы думайте, нормально ли 8-ми класснику, знающему только PHP с SQL и отчасти JS, начинать писать на C#.NET WPF?
А нормально ли то что в восемь лет уже работать на должности Quality Assurance , в семь лет программировать , а в четыре года уже уметь самостоятельно устанавливать операционную систему и все драйвера?
(извините за оффтоп)
Опять возникла такая проблема, теперь с Windows API Code Pack.
TaskDialog feature needs to load version 6 of comctl32.dll but a different version is current loaded in memory.
Изменение манифеста не помогает... Проблема даже с Sample...
Хм... перезапуск Studio действительно помог