gpt4 book ai didi

c# - 在运行时加载程序集时 WPF 表单的 .resource 文件?

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:26 26 4
gpt4 key购买 nike

我正在尝试构建一个工具,在运行时将程序集加载为 byte[] (Assemly.Load(byte[])只要我不在加载的程序集中打开 WPF 窗体,它就可以正常工作。然后我的程序集解析事件启动并要求一个名为 [my project name].resources 的文件,我真的不明白如何生成这个文件,谷歌也不知道。

这是某种奇怪的错误吗?既然我刚刚熟悉了 WPF,我是否必须重新使用 Winforms?

谢谢!

/埃里克

最佳答案

根据微软AppDomain.AssemblyResolve Event文档:

Beginning with the .NET Framework 4, the ResolveEventHandler event is raised for all assemblies, including resource assemblies.

此外,微软ResourceManager Class文档阐明了可以在何处找到 .resources 文件:

The ResourceManager class retrieves resources from a binary .resources file that is embedded in an assembly or from a standalone .resources file. If an app has been localized and localized resources have been deployed in satellite assemblies, it looks up culture-specific resources, provides resource fallback when a localized resource does not exist, and supports resource serialization.

因此,根据程序集是否已本地化,您应该返回包含 .resources 文件的程序集。对于非本地化程序集,这(通常)是程序集本身;对于本地化程序集,这是包含本地化资源的卫星程序集。

虽然我从未尝试过,但我相信 AssemblyResolve 事件可能会针对本地化程序集引发多次。每次您都需要返回包含匹配的本地化 .resources 文件的卫星程序集,如果不支持请求的语言环境,则返回 NULL。

关于c# - 在运行时加载程序集时 WPF 表单的 .resource 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27523559/

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