Band SDK:调用TileManager.AddTileAsync(.)时的MissingManifestResou



嗨,我有一个MissingManifestResourceException的问题,我在MSDN论坛上发现了一个类似的帖子,他们被建议在这里发布OP没有。因此,我在这里重新发布了它,因为OP比我能更雄辩地解释这个问题…

原创文章

,你好

不知道这是不是合适的论坛

我试着在微软手环上创建一个简单的测试贴图,我快疯了。我正在使用Windows 10 10074和VS 2015 CTP进行开发。

首先,当一个异常被抛出时,你总是得到一个误导性的System.Resources.MissingManifestResourceException隐藏你的实际异常(从什么看起来是无法找到本地化的资源内容)。通过检查堆栈跟踪,您可以在从顶部开始的第二个位置获得实际的异常。

第二,当我创建一个没有布局或其他任何东西的简单平铺时,一切都很顺利。但是只要我添加一些像这样简单的东西:

var controlsPageLayout = new PageLayout(new FilledPanel() { Rect = new PageRect(0, 0, 245, 102) });
tile.PageLayouts.Add(controlsPageLayout);

同时得到System.Resources.MissingManifestResourceExceptionMicrosoft.Band.BandIOException。下面是堆栈跟踪:

at Microsoft.Band.BandClient.DynamicPageLayoutSetLayout(Guid appId, UInt32 layoutIndex, PageLayout layout)
at Microsoft.Band.BandClient.AddTileOutsideSync(BandTile tile)
at Microsoft.Band.BandClient.<>c__DisplayClass9b.<AddTile>b__9a()
at Microsoft.Band.BandClient.RunUsingSynchronizedFirmwareUI(Action insideSync, Action afterSync)
at Microsoft.Band.BandClient.AddTile(BandTile tile, Guid applicationId, IReadOnlyList`1 installedTiles)
at Microsoft.Band.BandClient.<>c__DisplayClass6f.<<AddTileAsync>b__6c>d__71.MoveNext()

你知道这些问题可能的原因吗?由于

好的,我认为这个问题在某种程度上与Visual Studio 2015 RC有关。我重新安装了2013 Update 4(在windows TP 10074上),问题不再发生。

我希望这能帮助到别人。

使用VS 2015 CTP6工作良好。现在我有VS2015RC,得到了这个异常。

一个快速和肮脏的修复:只是把AddTileAsync周围的try/catch!我这样做是因为看到即使它抛出异常,tile也在我的band上,并且异常看起来是在获取add命令的本地化状态时(我的笔记本电脑设置为法语本地)。所以绕过异常,并尝试运行。setpagesasync:像一个魅力…下面是我的代码:

await bandClient.TileManager.RemoveTileAsync(myTile.TileId);
try
{
    await bandClient.TileManager.AddTileAsync(myTile);
    System.Diagnostics.Debug.WriteLine("AddTileOk");
}
catch (BandIOException bandex)
{
    System.Diagnostics.Debug.WriteLine($"ex:{bandex.Message}{Environment.NewLine}InnerException : {bandex.InnerException}");
    if (bandex.Message != "Exception of type 'System.Resources.MissingManifestResourceException' was thrown.")
        throw;
}
await bandClient.TileManager.SetPagesAsync(myTile.TileId, page);

对于信息,这里是InnerException:

{System.Resources.MissingManifestResourceException:类型'System.Resources.MissingManifestResourceException'的异常被扔出来。在System.Resources.ResourceManager.GetString(字符串名称,文化信息,文化)Microsoft.Band.BandResources.get_CommandStatusError ()Microsoft.Band.BandClient。CheckStatus (CargoStatus状态,CommandStatusHandling状态处理)atMicrosoft.Band.BandClient。DynamicPageLayoutSetLayout (Guid appIdUInt32 layoutIndex, PageLayout布局)}[System.Resources。MissingManifestResourceException]: {System.Resources。MissingManifestResourceException:异常类型"System.Resources。' MissingManifestResourceException'被抛出。在System.Resources.ResourceManager。GetString(字符串名称,文化信息Microsoft.Band.BandResources.get_CommandStatusError()
在Microsoft.Band.BandClient。CheckStatus (CargoStatus状态,CommandStatusHandling状态处理)atMicrosoft.Band.BandClient。DynamicPageLayoutSetLayout (Guid appIdUInt32 layoutIndex, PageLayout布局)}数据:{System.Collections.ListDictionaryInternal}HelpLink:零HResult: -2146233038InnerException:零消息:"类型'System.Resources '异常。" MissingManifestResourceException "被抛出。"来源:"mscorlib"StackTrace: " at System.Resources.ResourceManager. "GetString(字符串名称,文化信息文化) r nMicrosoft.Band.BandResources.get_CommandStatusError () r nMicrosoft.Band.BandClient。CheckStatus (CargoStatus状态,CommandStatusHandling(状态处理)rn atMicrosoft.Band.BandClient。DynamicPageLayoutSetLayout (Guid appIdUInt32 layoutIndex, PageLayout布局)

希望这对你有帮助!

最新更新