命名空间';资源';已经包含';SiteResources';
本文关键字:包含 SiteResources 资源 命名空间 | 更新日期: 2023-09-27 18:15:42
好的,由于某种原因,我的resx文件有问题,我有这个错误
命名空间"Resources"已包含"SiteResources"的定义
所有文件都在App_GlobalResources中,但我一直收到这个错误
任何指针
即使您将它们隐藏在Visual Studio中,它也有可能试图读取一个名称类似的文件,
如果在GlobalResources
中有一个以上的文件,请尝试像以下一样重命名扩展名
发件人:
SiteResources-fr-fr.resx
收件人:
SiteResources-fr-fr.old.resx(这可能仍然被读取(
尝试更改后者的扩展名,使其完整,而不是像以下这样的resx文件:
SiteResources-fr-fr.old
这将100%不是一个resx文件,现在应该停止asp.net混淆你想要使用的文件。
希望这能解决你的问题。
我在App_GlobalResources文件夹中添加了一个新的自定义区域性,但忘记注册它时遇到了这个问题。所以我不得不删除该文件,在global.asax
中添加以下函数,浏览我网站的随机页面,以便运行代码,最后将文件复制回其文件夹。
public static void CreateCulture(string name, string cultureInfo, string regionInfo)
{
try {
CultureAndRegionInfoBuilder.Unregister(name);
} catch { }
var cib = new CultureAndRegionInfoBuilder(name, CultureAndRegionModifiers.None);
cib.LoadDataFromCultureInfo(new CultureInfo(cultureInfo)); // Populate the new CultureAndRegionInfoBuilder object with culture information.
cib.LoadDataFromRegionInfo(new RegionInfo(regionInfo)); // Populate the new CultureAndRegionInfoBuilder object with region information.
cib.Register();
}
在Application_Start
:中
CreateCulture("en-gb-custom", "en-gb", "gb")
额外奖励:不要忘记在以下文件夹中为用户IIS_IUSRS添加完全权限,否则自定义语言将无法注册:
- 文件夹
C:'Windows'Globalization
- 注册表:
HKEY_LOCAL_MACHINE'SYSTEM'ControlSet001'Control'Nls'CustomLocale
这可能有点边缘化,但我们在开发环境中不时会遇到这种情况。我们必须在Windows中设置一个自定义文化来支持en-HK。Windows 8.1现在与Windows 2012 R2一样本机支持此区域性,但较旧的计算机需要创建区域性。任何没有此区域性设置的计算机都会报告此错误。解决方案是在机器上创建文化(我们为此创建了一个控制台应用程序(,一切都会重新开始工作。
我也在How to fix";名称空间x已经包含x"的定义;错误转换为VS2010 后发生
我遇到了一些问题。你应该像在美国或任何你可以从这里查看的国家一样编写资源文件https://msdn.microsoft.com/en-us/library/ee825488(v=cs.20(.aspx我的意思是,你不能像这样更改字符串类型,因为它是特殊的strign。我希望这对每个人都有帮助
确保只有一个GlobalResources.resx文件。
尝试将GlobalResources.Portal-0.resx
重命名为GlobalResources.Portal-0.old
,使其现在不是resx文件。
我需要不同语言的资源。其中一个名字不正确。请查看此页面以获取区域性的正确名称:https://msdn.microsoft.com/en-us/library/ee825488(v=cs.20(.aspx
样品名称:
SiteResources.resx
-默认资源SiteResources.af-AZ.resx
-南非荷兰语资源
确保您使用的区域性名称是有效的区域性名。
例如:sys.pt-eb
pt-eb
不是有效的区域性名称,因此它将在生成应用程序时引发错误。
可以从中检查支持的培养基
IE浏览器->工具->Internet选项->语言->添加语言