1

我有一个主要用 C# 编写的 .Net 3.5 应用程序,它使用 .resx 文件来存储几种不同语言的国际化数据,包括字符串、控件大小和位置等。我想弄清楚的是:有可能以与其他文化数据相同的方式将默认文化数据提取到附属程序集中来编译我的应用程序?

我试图防止用户以一种(非默认)语言使用软件,删除 bin 目录中的文化文件夹,然后可以访问默认语言的情况

如果由于框架限制这是不切实际或不可能的,是否可以使用默认语言以外的语言进行编译,以便我可以向用户提供应用程序的单个非默认版本?

非常感谢您的回答。

4

1 回答 1

1

几天前我做了类似的事情,因为我需要我所有应用程序的程序集都可以访问相同的资源。您只需要创建一个包含资源的单独程序集,并从应用程序的程序集中引用它。请注意,如果您这样做,资源程序集将不是附属程序集:它将被其他程序集显式引用,如果它不存在,应用程序将根本无法启动。

另请注意,默认情况下,Visual Studio 生成的资源类是内部的。要将它们公开,您需要将自定义工具替换ResxFileCodeGeneratorPublicResxFileCodeGenerator.

于 2010-08-28T11:54:30.937 回答