是否可以绑定资源文件X来发布配置文件Y?

问题描述:

假设我有一个带有2个语言文件(法语和德语)的ASP.NET MVC Web应用程序。 对于这个项目,我有2个发布配置文件(一个是xxx.fr,另一个是xxx.de)。是否可以绑定资源文件X来发布配置文件Y?

是否可以告诉发布配置文件要部署哪个语言文件? 如果可能的话,怎么样?

您可以根据发布配置文件创建Web.config变换。例如,如果您有名为Foo.pubxml的配置文件,则可以创建名为Web.Foo.config的转换。

您可以设置区域性和UI区域性在Web.config中是这样的:

<configuration> 
    <system.web> 
     <globalization culture="nl" uiCulture="nl"/> 
    </system.web> 
</configuration> 

所以变换是这样的:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
     <globalization culture="fr" uiCulture="fr" xdt:Transform="Replace"/> 
    </system.web> 
</configuration> 

通过设置文化,正确的资源文件将自动使用,假设您按照Foo.resx作为默认(未指定的文化)和Foo.fr.resx文化的命名约定为fr文化。