我想在App_GlobalResources文件夹中为名为“shopping.en-sg.resx”的新加坡英语(en-sg)创建资源文件。在ASP.NET中创建自定义区域
编译过程中出现错误。
错误1命名空间 '资源' 已经包含了定义 '购物' C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \临时 ASP.NET 文件\网络\ 2cd6afe9 \ 737b0a13 \ App_GlobalResources.vomuzavz.1.cs 26
谷歌搜索后,我发现“EN-SG”不是默认的文化,我要创建自定义的文化吧。我不知道这个的详细步骤。
我应该怎么做才能创建文化并消除编译错误?
我按照MSDN的例子中,创建一个名为 “shopping.x-EN-US-sample.resx” 文件,把下面的代码到的BasePage的功能(保护覆盖无效InitializeCulture()):
CultureAndRegionInfoBuilder cib = null;
cib = new CultureAndRegionInfoBuilder(
"x-en-US-sample", CultureAndRegionModifiers.None);
CultureInfo ci = new CultureInfo("en-US");
cib.LoadDataFromCultureInfo(ci);
RegionInfo ri = new RegionInfo("US");
cib.LoadDataFromRegionInfo(ri);
cib.Register();
ci = new CultureInfo("x-en-US-sample");
但是,编译错误仍然存在。
更新:
,您可以轻松创建一个空的网站,两个文件“shopping.en-sg.resx”,并在App_GlobalResources文件夹“shopping.resx”重现该问题。
我应该在哪里放置这段代码以避免错误? – Billy 2009-08-20 07:43:28
此代码只需要在需要额外文化的机器上运行一次。因为它已经存在,也许你会得到错误? – 2009-08-20 07:46:05
把代码放在global.asax中? 如果我将“en-sg”更改为“en-us”,那很好。 我只想要一段代码,我可以简单地把它放在某个地方,然后我可以使用shopping.en-sg.resx – Billy 2009-08-20 07:59:44