我正在尝试设置web.config转换来修改某些值。我正在使用Octopus Deploy给出的这个例子:
http://docs.octopusdeploy.com/display/OD/Configuration+files
web.config的超薄版本:
<?xml version="1.0" ?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<compilation debug="true" targetFramework="4.0">
</compilation>
</system.web>
</configuration>
变换:
<?xml version="1.0" ?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
输出:
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<compilation debug="true" targetFramework="4.0">
</compilation>
</system.web>
</configuration>
我正在使用此工具预览转换: https://webconfigtransformationtester.apphb.com/
你可以看到它什么也没做。我看了很多例子,但显然我错过了一些东西。任何帮助将不胜感激。
(我也试过这个没有运气):
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation debug="false" xdt:Transform="Replace">
</compilation >
</system.web>
</configuration>
答案 0 :(得分:3)
当您从
更改web.config文件的命名空间时,转换按照上面提到的web.config转换https://webconfigtransformationtester.apphb.com/在线预览工具的预期工作<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
到
<configuration xmlns:xdt="http://schemas.microsoft.com/.NetConfiguration/v2.0">
何时进行此转换
<?xml version="1.0" ?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
应用于调整后的web.config
<?xml version="1.0" ?>
<configuration xmlns:xdt="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<compilation debug="true" targetFramework="4.0">
</compilation>
</system.web>
</configuration>
从结果中删除debug
属性:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<compilation targetFramework="4.0">
</compilation>
</system.web>
</configuration>
更新:如评论中所述,web.config文件的配置根本不应包含任何命名空间。相反,有必要添加此导入
<xdt:Import assembly="AppHarbor.TransformTester"
namespace="AppHarbor.TransformTester.Transforms"/>
转换文件(至少在使用上述在线转换测试程序进行测试时):
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<xdt:Import assembly="AppHarbor.TransformTester"
namespace="AppHarbor.TransformTester.Transforms"/>
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>