本文介绍了从合并后的外部文件转换的appSettings的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图做的是变换 的appSettings 的一个是在外部文件:

这里是external.config

 <?XML版本=1.0&GT?;
    <&的appSettings GT;
    <添加键=SomeKeyVALUE =一些价值/>
    < /的appSettings>

的Web.config

 <?XML版本=1.0&GT?;
    <结构>
        <文件的appSettings =.. \\ .. \\ external.config>
            <添加键=SomeKey1VALUE =一些值1/>
        < /的appSettings>
    < /结构>

Web.Debug.config

 <?XML版本=1.0&GT?;
    <结构的xmlns:XDT =htt​​p://schemas.microsoft.com/XML-Document-Transform>
        <&的appSettings GT;
            <添加键=SomeKeyVALUE =一些改变价值XDT:转换=SetAttributesXDT:定位器=匹配(键)/>
       < /的appSettings>
    < /结构>

建立适当的配置后这在我的例子是调试只有有这样的:

 <?XML版本=1.0&GT?;
    <结构>
        <文件的appSettings =.. \\ .. \\ external.config>
            <添加键=SomeKey1VALUE =一些值1/>
        < /的appSettings>
    < /结构>

,但它应该是:

 <?XML版本=1.0&GT?;
    <结构的xmlns:XDT =htt​​p://schemas.microsoft.com/XML-Document-Transform>
        <&的appSettings GT;
            <添加键=SomeKey1VALUE =一些值1/>
            <添加键=SomeKeyVALUE =一些更改值/>
       < /的appSettings>
    < /结构>

我trye​​d使共享的appSettings 由2个或更多不同的项目 1-ST是 WCF服务第二个 ASP.NET MVC 4 应用

编辑:

我trye​​d提出这个文件 属性 Web.Debug.config ,但它也不能正常工作。

现在的问题是:

如何完成这样的东西?它甚至有可能?


解决方案

有趣。我有像你一样的问题。所以,现在在这里,供大家参考解决方法。
请打开项目文件 - XXX.csproj
例如,ISWB.Test.Unit.csproj

添加一节类似这样

 <! - 岩添加在这里,2015年3月19日启用外部配置转型 - >
  <目标名称=BeforeCompile条件=存在('ISWB $(配置)的.config。')>
    <! - 生成中间目录转化应用的配置 - >
    <的TransformXML源=ISWB.config目标=$(IntermediateOutputPath)ISWB.config转换=$ ISWB(配置)的.config。/>
    <! - 力的构建过程,从现在开始.--&GT使用转换配置文件;
    <&的ItemGroup GT;
      < AppConfigWithTargetPath删除=ISWB.config/>
      &所述; AppConfigWithTargetPath包含=$(IntermediateOutputPath)ISWB.config>
        <&TARGETPATH​​ GT; ISWB.config< / TARGETPATH​​>
      < / AppConfigWithTargetPath>
    < /&的ItemGroup GT;
  < /目标>  <目标名称=AfterCompile条件=存在(应用程序$(配置)的.config。')>
    <! - 生成中间目录转化应用的配置 - >
    <的TransformXML来源=的app.config目标=$(IntermediateOutputPath)$(TargetFileName)的.config转换=$应用程序(配置)的.config。/>
    <! - 力的构建过程,从现在开始.--&GT使用转换配置文件;
    <&的ItemGroup GT;
      < AppConfigWithTargetPath删除=的app.config/>
      < AppConfigWithTargetPath包括=$(IntermediateOutputPath)$(TargetFileName)的.config>
        <&TARGETPATH​​ GT; $(TargetFileName)的.config< / TARGETPATH​​>
      < / AppConfigWithTargetPath>
    < /&的ItemGroup GT;
  < /目标>

it should work well. Enjoy it!

这篇关于从合并后的外部文件转换的appSettings的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-23 19:07