Приложение UWP c++ winrt показывает, что SHGDNF не идентифицирован в ShObjldl_core.h

Я перемещаю приложение ac# .netcore в настольный мост UWP. Я могу развернуть и собрать приложение, но при добавлении компонента winrt С++ я получаю сообщение об ошибке, указывающее, что SHGDNF не идентифицирован в ShObjldl_core.h ниже: pch.cpp

      `#pragma once
#include <stdio.h>

#include <tchar.h>

#include <Unknwn.h>

#include <winrt/base.h>

#include <shlwapi.h>
#include <pathcch.h>

#include <ShlGuid.h>

#include <ShObjIdl_core.h>

#include <ShlObj_core.h>

#include <cfapi.h>

#include <ntstatus.h>

#include <sddl.h>

#include <winrt\windows.storage.provider.h>

#include <winrt\Windows.Security.Cryptography.h>

#include <ppltasks.h>

#include <strsafe.h>`

1 ответ

Вы можете нажать F12 , чтобы просмотреть документ, и вы увидите, что #ifутверждение #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)в котором говорится, что файл заголовка можно использовать для настольных приложений Win32(но не для приложений магазина). Поэтому проект компонента C++/Winrt не является приложением Win32. ShObjIdl_core.hзаголовок не может быть использован в проекте.

Другие вопросы по тегам