Windows phone 8 如何从ChatterboxVoIP示例创建或正确导入BackEndProxyStub项目到另一个解决方案(WP8)

Windows phone 8 如何从ChatterboxVoIP示例创建或正确导入BackEndProxyStub项目到另一个解决方案(WP8),windows-phone-8,windows-phone-voip,Windows Phone 8,Windows Phone Voip,我正在尝试开发一个基于和的VoIP应用程序 我了解项目代理、后端和UI是如何工作的,但我不能理解BackEndProxyStub 我读了以下描述: 这是一个用C编写的进程外服务器,它支持 前台应用程序和后台进程之间的通信 但没有找到其他更详细的说明文件 我正在尝试编辑“ChatterboxVoIP示例应用程序”(与另一个后端和UI集成),因此我想知道如何为我的解决方案创建或导入BackEndProxyStub并正确编辑 我试图导入,但在重建解决方案时,出现了两个未解析的外部: 错误2错误LNK2

我正在尝试开发一个基于和的VoIP应用程序

我了解项目代理、后端和UI是如何工作的,但我不能理解BackEndProxyStub

我读了以下描述:

这是一个用C编写的进程外服务器,它支持 前台应用程序和后台进程之间的通信

但没有找到其他更详细的说明文件

我正在尝试编辑“ChatterboxVoIP示例应用程序”(与另一个后端和UI集成),因此我想知道如何为我的解决方案创建或导入BackEndProxyStub并正确编辑

我试图导入,但在重建解决方案时,出现了两个未解析的外部:

错误2错误LNK2001:未解析的外部符号 _PhoneVOIPApp2eBindend_ProxyFileInfo D:\Workspace\C#和C++\BackEndProxyStub\dlldata.obj BackEndProxyStub

错误3错误LNK2001:未解析的外部符号 _PhoneVOIPApp2Backend2OutofProcess_ProxyFileInfo D:\Workspace\C#和C++\BackendProxySub\dlldata.obj backendProxySub

当我试图将这些文件重命名为我的项目名称时(即使有“请勿更改此文件”的警告),我也遇到了相同的错误(只是名称不同)

如果有人能告诉我如何正确处理“BackEndProxyStub”项目,我将不胜感激


如果我错过了一些可以帮助我的东西,请告诉我。

似乎我们也遇到了同样的问题。目前我帮不了什么忙,因为我也刚刚开始;但我认为BackEndProxyStub是由编译器生成的(请参阅)。这可能也是一个好的开始(请参阅问题的评论)

基于这一点,我现在从学习COM开始,希望有一天能完全理解chatterbox的例子


希望对您有所帮助。

BackEndProxyStub项目中的文件是由后端项目生成的。它使用MIDL(Microsoft界面定义语言)

这可以在后端项目的项目文件(BackEnd.vcxproj)中得到证明。此文件中的“CustomBuildStep”节点显示了线索:

<CustomBuildStep>
  <Command Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">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
  </Command></CustomBuildStep> .......

pushd“$(OutDir)”winmddl.exe“$(OutDir)$(RootNamespace.winmd”
MIdl.exe/env$(MidlEnv)/winrt/ns\u前缀/元数据\u dir“$(FrameworkSdkDir)Windows元数据“/out”$(SolutionDir)$(ProjectName)ProxyStub“$(OutDir)$(RootNamespace).idl”
MIdl.exe/env$(MidlEnv)/winrt/ns_前缀/元数据_dir“$(FrameworkDKDir)Windows元数据“/out”$(SolutionDir)$(ProxyStub)(ProxyStub)“$(OutDir)$(RootNamespace).OutOfProcess.idl”
“$(ProjectDir)OopServerRegistrationHelper.exe”/winmd:$(OutDir)$(RootNamespace.winmd”/dll_name:$(TargetName)/命名空间:$(RootNamespace.OutOfProcess”
/应用程序清单:“$(SolutionDir)UI\Properties\WMAppManifest.xml”/helper\u目录:“$(SolutionDir)代理”popd
.......
它也可以在Visual Studio中创建:


是MIDL的文件。我认为您可以使用MIDL生成自己的BackEndProxyHub项目。祝你好运。

没错,文档太差了,看起来不真实。