无法在VS Web解决方案中添加Resx文件

7 浏览
0 Comments

无法在VS Web解决方案中添加Resx文件

我第一次使用Resx文件,所以下面是我迄今为止所做的步骤:

  1. 创建了一个空的Asp.net解决方案。
  2. 添加了一个包含基本名称值内容的Resx文件。
  3. 添加了一个网页,在代码后端写下了以下代码:

    protected void Page_Load(object sender, EventArgs e)
            {
                ResourceManager rm = new ResourceManager("UsingRESX.Resource1",
    Assembly.GetExecutingAssembly());
                String strWebsite = rm.GetString("Website", CultureInfo.CurrentCulture); // 这里出现了异常
                String strName = rm.GetString("Name");
                form1.InnerText = "Website: " + strWebsite + "--Name: " + strName;
            }

但是当我运行代码时,出现了以下异常:

找不到适用于指定区域性或中性区域性的任何资源。请确保"UsingRESX.Resource1.resources"在编译时被正确地嵌入或链接到"WebApplication1"程序集中,或者所有所需的卫星程序集都可以加载并完全签名。

我参考的教程:

读取Resx文件

我尝试的解决方案:

SO解决方案

enter image description here

enter image description here

enter image description here

0
0 Comments

问题出现的原因是在尝试添加Resx文件时,代码中的一行引发了错误,无法识别变量"assembly"。输出中显示了一个资源的名称"WebApplication1.Resource1.resources",但不确定是否正确。在原始问题中还附加了VS项目的文件夹结构的截图。

解决方法是确认代码中的变量名是否正确,并根据需要进行更正。在这种情况下,问题的解决方法是将代码中的""中的"MyProjectName"更改为正确的项目名称,然后问题得到了解决。最后,回答者建议将这个答案标记为解决方案。

以下是整理后的

在尝试将Resx文件添加到VS Web解决方案时,遇到了一个问题。在尝试添加代码时,出现了一个错误,提示无法识别变量"assembly"。为了解决这个问题,我们尝试了一种方法,即添加以下代码:

var assembly = Assembly.GetExecutingAssembly();
assembly.GetManifestResourceNames();

我们设置了一个断点,以便查看所有嵌入的资源。我们需要确保资源的名称是正确的,因为有时资源路径并不明显。然而,当我们尝试添加上述代码时,出现了错误,提示无法识别变量"assembly"。

在输出中,我们看到了一个资源名称"WebApplication1.Resource1.resources"。然而,我们不能确定这是否是正确的资源名称。

为了更好地理解问题,我们在原始问题中附加了VS项目的文件夹结构的截图。然而,这并没有为问题的解决提供任何帮助。

最后,在讨论中,原问题的提问者意识到自己犯了一个错误。在代码中,他使用了一个示例中的项目名称,而不是正确的项目名称。一旦他将代码中的""中的"MyProjectName"更改为正确的项目名称,问题就得到了解决。

回答者对问题的解决感到高兴,并建议将这个答案标记为解决方案。

0