我正在尝试使用 ASP.NET 4.0 构建多语言 Web 应用程序。我已经创建了适当的资源文件,并在 App_GlobalResources 中进行了翻译,从 VS 运行后一切正常,但令我惊讶的是没有生成附属程序集 (.resources.dll)。
当我将构建操作更改为“嵌入式资源”时,它们被创建,但在发布 IIS 后完全忽略它们并使用 App_GlobalResources 中的纯 .resx 文件。
这种行为正确吗?不会影响性能吗?或者我应该编译这些 .resx 文件并以某种方式指示我的应用程序使用它们?
最佳答案
ASP.NET 确实“即时”编译它们,只是将它们放在您看不到的地方(例如:%WINDIR%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET)。 NET 文件
),因此不会产生巨大的性能影响,只是在应用程序首次启动时或在编译的缓存不再有效(即您更改了它)时启动。
程序集通常命名为App_GlobalResources.xxxx.dll
,其中 xxxx 是某个十六进制值。
关于asp.net - ASP.NET 中的资源是否需要编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5236652/