2011-03-08 85 views
2

我想用ASP.NET 4.0構建一個多語言的web應用程序。我已經在App_GlobalResources中創建了具有翻譯的適當資源文件,並且在從VS運行後一切正常,但我驚奇地發現沒有附屬程序集(.resources.dll)生成。應該編譯ASP.NET中的資源嗎?

當我將構建操作更改爲「嵌入式資源」時,它們已創建,但在完全發佈IIS後忽略它們並使用來自App_GlobalResources的純.resx文件。

行爲是否正確?它不會影響性能嗎?或者我應該編譯這些.resx文件,並以某種方式指示我的應用程序使用它們?

回答

4

ASP.NET確實將它們編譯爲「實時」,它只是將它們放在一個你看不到的地方(例如:%WINDIR%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files),所以不會對性能造成巨大的影響,僅僅是第一次啓動應用程序或者如果編譯的緩存不再有效(例如,你改變了它),那麼在啓動時。

該程序集通常被命名爲App_GlobalResources.xxxx.dll,其中xxxx是某個十六進制值。

+0

謝謝你解釋了很多 – 2011-03-08 18:35:56