标签: xdt

NuGet release.config.install.xdt保留转换

我正在创建一个包含web.release.config.install.xdt文件的NuGet包.但是,文件中的每个变换都由NuGet处理.

这是web.release.config.install.xdt文件的内容:

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <!-- I only want this xdt:Transform to be handled by NuGet -->
  <solr xdt:Transform="Insert">
    <!-- the below xdt:Transform attributes are also processed by NuGet -->
    <server id="location" url="http://192.168.1.100:8983/solr/geo" xdt:Transform="SetAttributes" xdt:Locator="Match(id)" />
  </solr>
</configuration>
Run Code Online (Sandbox Code Playgroud)

有关正确的方法来逃避嵌套转换的任何建议,以便为web.release.config文件保留它们?

transform nuget xdt-transform xdt

8
推荐指数
0
解决办法
254
查看次数

可以追加 web.config 的 XDT 转换

我正在尝试更新 web.config 中的现有 appSettings。我不想替换整个值,而是将我的新值附加到最后。这可能吗?

当前值:

<add key="umbracoReservedPaths" value="~/umbraco,~/install/" />
Run Code Online (Sandbox Code Playgroud)

所需值:

<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/signalr" />
Run Code Online (Sandbox Code Playgroud)

这是我目前在我的转换文件中的内容:

<add key="umbracoReservedPaths" value=",~/signalr" xdt:Transform="SetAttributes(value)" xdt:Locator="Match(key)"/>
Run Code Online (Sandbox Code Playgroud)

xml web-config xdt-transform xdt

5
推荐指数
1
解决办法
2228
查看次数

尝试使用 XDT 和 XPath 定位器替换 XML 元素元素

嗨,我正在尝试<cron-expression>通过在quartz.net 作业描述文件上使用以下转换来替换使用 VS2012 XDT。我已经使用在线测试仪测试了 XPath 定位器,它返回“我认为我需要的东西”。任何帮助表示赞赏。

<schedule>
    <trigger>
        <cron xdt:Locator="XPath(//job-scheduling-data/schedule/trigger/cron[name='crontriggername2'])" >
            <cron-expression  xdt:Transform="Replace">***some data***</cron-expression>
        </cron>
    </trigger>
</schedule>
Run Code Online (Sandbox Code Playgroud)

对于示例 XML 文件 (Quartz.net)

  <job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0"><processing-directives>
    <overwrite-existing-data>true</overwrite-existing-data>
</processing-directives>

<schedule>
       <trigger>
        <cron>
            <name>crontriggername1</name>
            <group>crontriggergroup1</group>
            <description>crontriggerdesc1</description>
            <job-name>crontriggerjobname1</job-name>
            <job-group>crontriggerjgroup1</job-group>
            <misfire-instruction>crontriggermisfile1</misfire-instruction>
            <cron-expression>0/5 * * * * ?</cron-expression>
        </cron>
    </trigger>

    <trigger>
        <cron>
            <name>crontriggername2</name>
            <group>crontriggergroup2</group>
            <description>crontriggerdesc2</description>
            <job-name>crontriggerjobname2</job-name>
            <job-group>crontriggerjgroup2</job-group>
            <misfire-instruction>crontriggermisfile2</misfire-instruction>
            <cron-expression>0/13 * * * * ?</cron-expression>
        </cron>
    </trigger>      
</schedule>
Run Code Online (Sandbox Code Playgroud)

XPath //job-scheduling-data/schedule/trigger/cron[name='crontriggername2']

返回给我正确的元素组 ( http://www.freeformatter.com/xpath-tester.html 1 )

<cron>
  <name>crontriggername2</name>
  <group>crontriggergroup2</group>
  <description>crontriggerdesc2</description>
  <job-name>crontriggerjobname2</job-name>
  <job-group>crontriggerjgroup2</job-group>
  <misfire-instruction>crontriggermisfile2</misfire-instruction>
  <cron-expression>0/13 * * …
Run Code Online (Sandbox Code Playgroud)

xml xpath quartz.net xdt-transform xdt

4
推荐指数
1
解决办法
3532
查看次数

如何在 app.config 中插入 &lt;configSections&gt; 作为第一个子项

我目前正在编写一个新的 NuGet 包,但无法正确获取app.config.install.xdt文件(这是转换 app.config 以适应已安装包的 xml 文件)。

\n\n

问题是在 app.config 中插入<configSections>部分作为第一个子项 -但仅限于它丢失的情况!

\n\n

它必须是第一个子项,否则应用程序将因异常而失败(Microsoft 强制执行)。

\n\n

如果我只使用常规\xe2\x80\x9cInsertIfMissing\xe2\x80\x9d转换,则插入发生在任何现有子项之后,因此这似乎是不行的。

\n\n

我可以做什么来解决我的问题?

\n

app-config nuget xdt-transform xdt visual-studio-2017

2
推荐指数
1
解决办法
799
查看次数