Создание файлов IDL и WinMD для компонентов времени выполнения на WP8

Я хотел бы получить некоторые разъяснения по поводу того, с чем я некоторое время путался.

Я пытался прочитать как можно больше документации (как 1-й, так и 3-й стороны) о создании файлов IDL и MetaData для компонентов времени выполнения, и, возможно, это связано с моей способностью понимать материал, но я все еще немного (очень) потерян.

Если я правильно понимаю, однажды компонент времени выполнения скомпилирован в DLL, которая используется для создания файла IDL, который затем используется при создании файлов метаданных Windows. В примере приложения MS Chatterbox VoIP проект компонента времени выполнения имеет пользовательский шаг сборки (PostBuildEvent), который выполняет следующие действия:

pushd "$(OutDir)"

WinMdIdl.exe "$(OutDir)$(RootNamespace).winmd"

MIdl.exe /env $(MidlEnv) /winrt /ns_prefix /metadata_dir "$(FrameworkSdkDir)Windows Metadata" /out "$(SolutionDir)$(ProjectName)ProxyStub" "$(OutDir)$(RootNamespace).idl"

MIdl.exe /env $(MidlEnv) /winrt /ns_prefix /metadata_dir "$(FrameworkSdkDir)Windows Metadata" /out "$(SolutionDir)$(ProjectName)ProxyStub" "$(OutDir)$(RootNamespace).OutOfProcess.idl"

"$(ProjectDir)OopServerRegistrationHelper.exe" /winmd:"$(OutDir)$(RootNamespace).winmd" /dll_name:$(TargetName) /namespace:$(RootNamespace).OutOfProcess /app_manifest:"$(SolutionDir)UI\Properties\WMAppManifest.xml" /helper_dir:"$(SolutionDir)Agents"

popd

Однако в моем собственном проекте, использующем простой класс C++ в компоненте Runtime, указанном в приложении C#, я никогда не выполнял никакой ручной настройки для создания / обработки файлов IDL. Я просто добавил ссылку в проекте C# в мой C++/CX Runtime Project, скомпилировал, и это сработало.

Итак, в чем здесь дело? Файлы IDL и WinMD генерируются автоматически для каждого проекта компонента времени выполнения? Или я делаю что-то неправильно / неэффективно, не используя эти инструменты обработки IDL?

Дайте мне знать, если мне нужно добавить больше информации.

0 ответов

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