命名空间';资源';已经包含';SiteResources';

本文关键字:包含 SiteResources 资源 命名空间 | 更新日期: 2023-09-27 18:15:42

好的,由于某种原因,我的resx文件有问题,我有这个错误

命名空间"Resources"已包含"SiteResources"的定义

所有文件都在App_GlobalResources中,但我一直收到这个错误

任何指针

命名空间';资源';已经包含';SiteResources';

即使您将它们隐藏在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选项->语言->添加语言