5

我正在开发一个现代 UI 应用程序,我目前正在尝试从后台任务访问我的应用程序的资源文件 (Resources.resw)。两者都在同一解决方案中的不同项目中。我试过这样:

ResourceLoader resources = new ResourceLoader("MyApp/Resources");

但是我有一个错误,因为它无法访问资源地图。

有没有特定的方法可以做到这一点?

4

4 回答 4

2

万一有人遇到这种情况。

在 UWP 中,您似乎不需要做任何特别的事情来完成这项工作。如果.resw文件包含在主 UWP 项目中,您甚至可以使用资源加载器从后台任务程序集中检索它们。对于名为LiveNotifications-ItemComplete的资源字符串,它将如下所示:

var resource = new ResourceLoader().GetString("LiveNotifications-ItemCompleted");

希望这可以帮助!

于 2015-12-08T14:44:46.697 回答
1

尝试仅使用资源文件的名称。如果名称是 MyResources.resw,则使用:

ResourceLoader resources = new ResourceLoader("MyResources");
于 2012-11-05T21:04:11.037 回答
1

虽然这是一篇旧帖子,但我想我会发布我的发现,因为当我尝试在我的 Windows 10 的 UWP 应用程序中的后台任务中使用它时,这篇帖子中的任何建议都不适合我。

我实现它的方式如下:

string str = ResourceLoader.GetForViewIndependentUse("Resources").
             GetString("MyLocalizedKey");

在哪里

  • "Resources"例如,是.resw“App\String\en-US”或“App\Strings\fr-FR”中的文件名。

  • "MyLocalizedKey"是您要从资源文件中获取的值的实际键。

现在请记住,如果您使用此方法,则必须将您的所有字符串放在BackgroundTask主应用程序中。

希望这可以帮助。

于 2016-06-17T16:05:54.507 回答
0

我认为你正在尝试做的事情是不可能的。Resw 可能只能在商店应用程序项目中访问。至少这是我的观察,我已经尝试了我所知道的一切。

但是,如果您想将参数传递给后台任务,我可以提供解决方案。将 resw 文件添加到您的 Windows 应用商店应用项目中。当您注册后台任务时,将您的设置(或您需要传递给后台任务的任何内容)写入设备的本地设置。然后,从您的后台任务中读取本地设置中的相同设置。

它并不完美,但效果很好。如果这对您没有帮助,我很抱歉。

于 2012-11-14T14:00:45.360 回答