Visual studio 2017 GetTwinAsync返回的孪生数据因VS项目类型而异

Visual studio 2017 GetTwinAsync返回的孪生数据因VS项目类型而异,visual-studio-2017,azure-iot-hub,Visual Studio 2017,Azure Iot Hub,我从“registryManager.GetTwinAsync(deviceId)”中获得不同的孪生数据,具体取决于我使用的项目类型 在控制台应用程序中,我(正确地)得到: 双数据:{“deviceId”:“myFirstDevice”,“etag”:“aaaaaaaaaaaq=”,“properties”:{“desired”:“{”CamStatus:“off“,“$metadata”:“{”$LastUpdate:“2017-07-18T08:33:48.5224455Z”,“$lastU

我从“registryManager.GetTwinAsync(deviceId)”中获得不同的孪生数据,具体取决于我使用的项目类型

在控制台应用程序中,我(正确地)得到:

双数据:{“deviceId”:“myFirstDevice”,“etag”:“aaaaaaaaaaaq=”,“properties”:{“desired”:“{”CamStatus:“off“,“$metadata”:“{”$LastUpdate:“2017-07-18T08:33:48.5224455Z”,“$lastUpdatedVersion”:4,“CamStatus:{”$lastUpdated:“2017-07-18T08:33:48.5224455Z”,“$lastUpdatedVersion:”4},“$lastUpdatedVersion:”报告的{$LastMetadata:{“2017-05-20T19:35:34.7568052Z”},“$version”:1}”

在Azure函数中,我得到:

Json数据:{“DeviceId”:“myFirstDevice”,“标记”:[],“属性”:{“所需”:[{“键”:“CamStatus”,“值”:[]}],“报告”:[]},“ETag”:“aaaaaaaa q=“}”

在UWP应用程序中,该函数挂起并且从不返回任何值

这是代码片段:

            string connectionString = "...";
            RegistryManager registryManager = RegistryManager.CreateFromConnectionString(connectionString);

            try
            {
                var twin = await registryManager.GetTwinAsync(deviceId);
                Debug.WriteLine("Twin Data: " + JsonConvert.SerializeObject(twin));
            }
我使用的是VS15.3.0预览版4.0

我希望这三个项目都能返回完全相同的设备数据。
我在这里混淆了什么吗?

我从UWP应用程序和console应用程序中得到了相同的结果。您的代码片段在任务中的位置?代码位于异步任务中。当我将其移动到app类中时,它工作得很好。谢谢您的提示,但我不理解这个问题。您可以检查。谢谢您-知道为什么要使用JsonConvert.SerializeObject吗(twin)在Azure功能中提供不同的结果?