我正在创建一个包含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文件保留它们?
我正在尝试更新 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) 嗨,我正在尝试<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) 我目前正在编写一个新的 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