【问题标题】:Is there a way to run some code just before creating a Debug/Release build in Visual Studio有没有办法在 Visual Studio 中创建调试/发布版本之前运行一些代码
【发布时间】:2018-05-04 12:04:12
【问题描述】:

所以要求是,我正在开展一个需要为每种语言创建本地化网站的项目。我们已经有一个英文版本。我们的想法是,我们将创建一个 Datasource(resources),它将为整个项目的每种语言提供映射。我们还将有一个配置文件,它将告诉我们语言(区域设置)、该区域设置中使用的指标等。当我们创建一个调试/发布构建时,我们需要运行一个程序来捕获配置并为这些配置创建一个构建配置。

请注意,原始构建应保持不变,因为它将用于为尽可能多的语言创建构建。

【问题讨论】:

    标签: asp.net visual-studio visual-studio-2012 localization


    【解决方案1】:

    花了两天时间后,我有了一个解决方案,感谢@Sunil 和@StuartLC 提供的意见。对于我的情况,最简单的解决方案是,我什至不需要为每种语言创建单独的构建。我可以简单地在 system.web 下的 web.config 中添加以下行,其中包含我需要的文化信息。构建将为这种文化做好准备。

    //For English (United States)
    <globalization uiCulture="en-US" culture="en-US"/>
    //For German (Germany)
    <globalization uiCulture="de-DE" culture="de-DE"/>
    

    由于我将使用自己的数据库资源提供程序,因此我的 web.cofig 行将如下所示。

    <globalization resourceProviderFactoryType="MyResourceProviderName.MyResourceProviderFactory" uiCulture="de-DE" culture="de-DE"/>
    <globalization resourceProviderFactoryType="MyResourceProviderName.MyResourceProviderFactory" uiCulture="en-US" culture="en-US"/>
    

    我希望这对将来的人有所帮助。

    【讨论】:

      【解决方案2】:

      您可能需要使用构建脚本运行多个构建。您的选项是 Nant 和 MSBuild。

      在构建脚本中,您需要为您支持的不同语言创建单独的包。

      【讨论】:

        【解决方案3】:

        是的,确实,Pre and Post build events 用于您描述的场景

        您可以从项目的“属性”选项卡中访问它们:

        【讨论】:

        • 但是,这不会改变我原来的构建本身吗?我希望我的原始版本保留为英语,并为每种语言创建一个单独的版本。
        • 这个想法是将所有特定于语言环境的数据(字符串表、图像等)抽象为separate Resource Files
        猜你喜欢
        • 2022-01-10
        • 2017-07-28
        • 2011-04-16
        • 1970-01-01
        • 2019-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多