首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ParameterEntry in parameters.xml

ParameterEntry in parameters.xml
EN

Stack Overflow用户
提问于 2017-08-01 19:33:32
回答 2查看 958关注 0票数 0

我有一个用于IIS宿主web应用程序的parameters.xml文件(它可以处理javascript、HTML文件)。为了创建一个持续的部署序列,我阅读了关于创建发布配置文件、使用令牌标记它以及通过TFS ( on -Prem)构建和发布、标记和发布我的web应用程序的内容。问题是我在客户端站点应用程序中有一个javascript配置文件。我希望能够用已经创建的管道Iv'e中的令牌来编辑它。

我的参数xml如下:

代码语言:javascript
复制
<parameters>
  <parameter name="DebugOption"
    description="Some debug option."
    defaultValue="false">
  <parameterEntry  
    kind="TextFile" 
    scope="config.js" 
    match="debugOption = true" />
  </parameter>
</parameters>

如您所见,我正在匹配字符串"debugOption = true“。我想要实现的是只将true更改为 false ,但是在TFS中的令牌程序任务中,如果我将$(DebugOption)设置为false,它将所有字符串替换为false--具体而言,它将"debugOption = true“替换为"false",这不是我想要的最终结果。

是否有任何方法来匹配这种字符串(我不能只匹配true,因为它将替换javascrip文件中所有的“true”),并且只更改值,而不给值"debugOption = false“--仅为false?

EN

回答 2

Stack Overflow用户

发布于 2017-10-24 11:43:06

如果不可能替换字符串的一部分,为什么不直接替换整个单词。在这里,您希望为debugOption设置false,因此将发布部分中的变量设置为$(DebugOption) = debugOption=false。

我希望这会成功。

谢谢

票数 1
EN

Stack Overflow用户

发布于 2017-08-02 11:27:20

无法实现更新。只需将debugMode=true替换为debugMode=false就行了;匹配器不知道需要替换哪个部分。

如果您正在使用令牌化任务发布管理实用程序任务中的托卡器任务

代码语言:javascript
复制
This task finds the pattern __<pattern>__ and replaces the same with the value from the variable with name <pattern>.
Eg. If you have a variable defined as foo with value bar,
on running this task on a file that contains __foo__ will be changed to bar.

以匹配整个字符串,而不是每个标记字符串。您需要稍微更改RegEx,以避免在其选择中贪婪。

代码语言:javascript
复制
$regex = '__[A-Za-z0-9._-]*?__'

更多细节请参考以下问题:web.config.token中基于令牌化的模式替换

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

https://stackoverflow.com/questions/45446273

复制
相关文章

相似问题

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