Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 类库中的本地化/资源文件_Asp.net_C# 4.0_Web_Localization - Fatal编程技术网

Asp.net 类库中的本地化/资源文件

Asp.net 类库中的本地化/资源文件,asp.net,c#-4.0,web,localization,Asp.net,C# 4.0,Web,Localization,我试图在.NET类库中实现全球化。在.NETweb应用程序中,这似乎可以正常工作。我可以在App\u GlobalResources下添加多个资源文件 e、 g 但是,资源文件在类库中的处理方式不同。我通过 1) 打开类库的属性 2) 单击资源选项卡 3) 单击链接创建“默认资源文件” 在这个模型中,它似乎只允许一个默认的资源文件。我可以重命名文件,似乎可以绕过“一个文件”的限制,但如果我生成的资源文件与上述名称相同,则似乎没有为“LocalizedText.fr.resx”文件生成代码。如果我

我试图在
.NET
类库中实现全球化。在
.NET
web应用程序中,这似乎可以正常工作。我可以在
App\u GlobalResources
下添加多个资源文件

e、 g

但是,资源文件在类库中的处理方式不同。我通过
1) 打开类库的属性
2) 单击资源选项卡
3) 单击链接创建“默认资源文件”

在这个模型中,它似乎只允许一个默认的资源文件。我可以重命名文件,似乎可以绕过“一个文件”
的限制,但如果我生成的资源文件与上述名称相同,则似乎没有为“LocalizedText.fr.resx”文件生成代码。如果我在这样的代码中引用字符串

myControl.Text = Properties.LocalizedText.MyLocalizedText;
它引用LocalizedText.resx文件作为值(忽略将区域性设置为法语的事实)。我猜想,无论自动为设计器文件生成代码的是什么,都会看到已经有了一个“LocalizedText”类,并且不会生成必要的代码

是否有一种方法(相当于web应用程序项目)可以使用类库中的多个资源文件,为每个区域性命名不同,并且能够轻松地在代码中访问这些资源文件(信任
.NET
根据区域性信息进行适当切换)


非常感谢首先:在项目中创建一个名为“MyFolder”的文件夹

第二:将名为“MyResourceFile”的资源文件添加到文件夹中

第三:在要访问资源值的位置,导入:

using System.Reflection;
using System.Resources;
using MyProject.MyFolder.MyResourceFile;
并创建一个可以访问您的资源的属性。像这样:

public static ResourceManager oResourceManager = new ResourceManager("MyProject.MyFolder.MyResourceFile", typeof(MyResourceFile).Assembly);
第四:从您的财产中获取数据:

oResourceManager.GetString("ResourceKey", System.Globalization.CultureInfo.CurrentCulture);

感谢编辑sunbabaphu。。。好多了!
oResourceManager.GetString("ResourceKey", System.Globalization.CultureInfo.CurrentCulture);