gpt4 book ai didi

microsoft-band - 将自定义页面布局添加到 Microsoft Band 磁贴时出现 BandIOException(仅存储二进制文件)

转载 作者:行者123 更新时间:2023-12-01 14:44:49 24 4
gpt4 key购买 nike

我正在创建一个使用新的自定义页面布局的 Microsoft Band 应用。我使用的是 Microsoft Visual Studio Community 2013 update 4。我的一切工作正常,应用程序在我的测试环境中运行良好(即当我将应用程序从我的计算机推送到我的手机时)。但是,一旦我创建了商店版本并创建了一个测试版应用程序包并从商店下载它并尝试通过该应用程序安装 Band 磁贴,我得到了一个异常。我再说一遍,当我通过应用程序安装 Band 磁贴时,当应用程序从我的开发环境中推送时,我没有遇到异常,但是当使用相同的代码创建应用程序包并重复该过程时,我会遇到异常,但是新下载的二进制文件。

乐队磁贴已成功添加到我的乐队,但我的乐队应用只有我尝试添加的 5 个自定义页面布局中的第一个。经过多次试验和错误(数十个测试版应用程序包上传到 App Store)后,我知道了这一点。

我征求了其他 Beta 测试人员的意见,他们都收到了相同的异常(exception)情况。

这是异常的详细信息

Microsoft.Band.BandIOException:
Exception of type 'System.Resources.MissingManifestResourceException' was thrown. ---> System.Resources.MissingManifestResourceException:
Exception of type 'System.Resources.MissingManifestResourceException' was thrown.
at
System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
at
Microsoft.Band.BandResources.get_CommandStatusError()
at
Microsoft.Band.BandClient.CheckStatus(CargoStatus status, CommandStatusHandling statusHandling)
at
Microsoft.Band.BandClient.DynamicPageLayoutSetLayout(Guid appId, UInt32 layoutIndex, PageLayout layout)
--- End of inner exception stack trace ---
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()
-- End of stack tracke from previous location where exception was thrown ---

经过多次试验和错误后,我将问题简化为以下代码。当从 App Store 检索二进制文件并执行该方法时,它会产生错误。但是,当通过 Microsoft Visual Studio 2013 环境从我的本地计算机推送二进制文件并执行该方法时,它不会产生任何错误。此外,如果我删除添加自定义页面布局的行并通过商店发送我的应用程序并进行测试,则不会抛出异常。

public async Task CreateBandTile() {
try
{
Guid tileId = new Guid("2D3A78E2-84BB-4E56-AFEB-B160B2433E20");
IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();
IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]);

BandTile myTile = new BandTile(tileId)
{
Name = "My Band Tile",
TileIcon = await LoadIcon("ms-appx:///Assets/IconLarge.png"),
SmallIcon = await LoadIcon("ms-appx:///Assets/IconSmall.png"),
IsBadgingEnabled = false
};

FlowPanel page = new FlowPanel(
new TextBlock()
{
ElementId = 1,
Rect = new PageRect(0, 0, 100, 30),
Font = TextBlockFont.Small
}
)
{
Rect = new PageRect(0, 0, 245, 30)
};

// *** If I remove the following line, no exception is thrown ***
myTile.PageLayouts.Add(new PageLayout(page));

// Remove the Tile from the Band, if present.
await bandClient.TileManager.RemoveTileAsync(tileId);

// Create the Tile on the Band.
await bandClient.TileManager.AddTileAsync(myTile);
}
catch (Exception)
{
throw;
}
}

我在这里做错了什么?也许我是第一个通过使用自定义布局的 MS 应用程序商店发送应用程序的开发人员。我觉得微软这边有一个错误。

最佳答案

随着新的 Microsoft Band SDK 的发布,该错误已得到解决。

关于microsoft-band - 将自定义页面布局添加到 Microsoft Band 磁贴时出现 BandIOException(仅存储二进制文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31839179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com