首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于环境构建.Net网络应用程序

基于环境构建.Net网络应用程序
EN

Stack Overflow用户
提问于 2017-11-03 12:07:36
回答 1查看 90关注 0票数 1

我的.Net web应用程序通过3种环境进行开发、发布和生产,每个环境都有自己的配置和项目设置文件。

假设不同环境的设置和配置文件位于一个系统中,我希望创建一个小脚本或应用程序,其中开发人员只提到环境类型,然后加载相关的设置和配置文件,然后构建应用程序。

有人能指点我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-03 12:21:33

您可以创建配置转换,并在发布配置文件中使用它们。用于每个配置(调试、发布、YourOwnConfig .)将有一个按其配置命名的文件(Web.Debug.config、Web.Release.Config、Web.YourOwn.Config、.)

诀窍是,您有一个完整的配置文件,即原始Web.Config,而这些转换只是通过XSLT语法提到了这个文件的不同之处(一旦您创建了一个新的转换,文件本身中就会有一些示例显示语法)。例如,为appSettings键添加转换如下:

代码语言:javascript
复制
<configuration>
    <appSettings>
        <add key="ClientSessionTimeout" value="100"
            xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
    </appSettings>
</configuration>

该示例将将现有的ClientSessionTimeout设置替换为指定的设置(使用value="100")。请注意xdt:locator如何指定键属性将用于本地化设置,而xdt:Transform则指定将设置上述属性(此处为:value)。

如果您有applicationSettings,,则需要替换设置本身:

代码语言:javascript
复制
<applicationSettings>
    <WebApplication2.Properties.Settings>
        <setting name="Setting" serializeAs="String"
                                xdt:Transform="Replace" xdt:Locator="Match(key)">
            <value>Some value</value>
        </setting>
    </WebApplication2.Properties.Settings>
</applicationSettings>

区别将是,例如,数据源设置,其他环境特定的设置,如URL到web服务等。

要创建这些配置,请选择一个配置,如“调试”,然后右键单击Web.Config文件,您将看到上下文菜单项“添加配置转换”-单击它,Web.Debug.Config转换文件将在Web.Config下面创建。按照前面提到的修改它;将整个键或设置复制到转换文件中,然后添加适当的xdt属性,如上面所示。

最后,您可以使用“发布”函数(右键单击web prroject来选择它)。向导打开,您可以在其中设置发布配置文件。在这里,您可以提到一个配置,比如“调试”、“发布”,以及您之前创建的配置。

文件发布将把部署web项目所需的文件放在一起,并通过应用适当的转换文件(例如,Web.Config )来执行Web.Release.Config的转换。发布的配置将命名为"Web.Config“,并包含所有更改。

为了解决的问题,和了解更多关于这个主题的内容,我推荐以下链接:

还请注意,堆栈溢出的边栏显示了更多相关链接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47095434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档