是否应编译ASP.NET中的资源?

时间:2011-03-08 18:24:45

标签: asp.net resources resx

我正在尝试使用ASP.NET 4.0构建一个多语言Web应用程序。我已经在App_GlobalResources中创建了适当的资源文件,并且从VS运行后一切正常,但我很惊讶没有生成任何附属程序集(.resources.dll)。

当我将构建操作更改为“嵌入式资源”时,它们已创建,但在完全发布IIS后忽略它们并使用来自App_GlobalResources的纯.resx文件。

这种行为是否正确?它不会影响性能吗?或者我应该编译这些.resx文件并以某种方式指示我的应用程序使用它们吗?

1 个答案:

答案 0 :(得分:4)

ASP.NET确实“动态”编译它们,它只是将它们放在一个你看不到的地方(例如:%WINDIR%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files),因此不会对应用程序启动产生巨大的性能影响第一次或在启动时,如果编译的缓存不再有效(即您更改了它)。

程序集通常命名为App_GlobalResources.xxxx.dll,其中xxxx是一些十六进制值。