ASP.NET中的资源(VB)

时间:2012-02-23 05:34:19

标签: asp.net vb.net

我在App_GlobalResources中添加了一个名为FileList.resx的资源文件。

现在我使用

访问代码中的内容
My.Resources.FileList.astro1 etc.

如果我将资源文件的Build Action设置为Embedded,它可以正常工作。但是在这种情况下,资源文件在编译后不可用,我不能在以后更改它。

如果我将构建操作设置为内容,则会出现错误:无法找到适合指定区域性或中性文化的任何资源。确保在编译时将“WAP.FileList.resources”正确嵌入或链接到程序集“WAP”中,或者所有所需的附属程序集都是可加载和完全签名的。

请建议我。

2 个答案:

答案 0 :(得分:0)

在编译和部署应用程序的任何方式中,所有资源文件都将编译为与每个资源文件程序集相关的文件。在所有情况下,最终都会为站点中的每个目录创建资源程序集,并在其各自的特定于文化的目录下生成附属程序集。即使网站是JIT编译的,结果也是等价的。

因此,您必须使用资源文件的构建操作来嵌入,但作为动态资源定义的可能解决方案,您可以将资源放在数据库中。甚至提供资源提供者。在这种情况下,您的数据库解决方案将具有资源管理(动态文化定义)建议的所有好处,使用资源绑定来控制等。

在这里,您可以找到一些如何在您的应用程序中实现资源提供者模型的教程:

  1. Extending the ASP.NET 2.0 Resource-Provider Model
  2. Creating a Data Driven ASP.NET Localization Resource Provider and Editor

答案 1 :(得分:0)

您使用的是Visual Studio Web应用程序吗?还是一个网站?

在后一种情况下,您应该能够在部署站点后更改资源文件,并且应该在服务器上自动重新编译。在前一种情况下,它是一个内置的,在部署之前编译网站后无法更改。

如果这对您来说是个问题,那么资源文件当然有替代方案....