我遵循下面的post Nuget Config.Transform Formatting Issue在NuGet中添加web.config文件条目。
我在我的NuGet包中使用了下面的xdt文件
<compilation>
<assemblies>
<add assembly="ASSEMBLY1, Version=1.0.10, Culture=neutral" xdt:Transform="Insert"/>
<add assembly="ASSEMBLY2, Version=1.0.11, Culture=neutral" xdt:Transform="Insert"/>
<add assembly="ASSEMBLY3, Version=1.0.12, Culture=neutral" xdt:Transform="Insert"/>
<add assembly="ASSEMBLY4, Version=1.0.13, Culture=neutral" xdt:Transform="Insert"/>
</assemblies>
</compilation>
</system.web>我试图安装这个NuGet,得到以下错误。将转换应用到项目“'/configuration/system.web/compilation/assemblies/add‘”中的“web.config”时发生错误--源文档中没有匹配WebApplication60 0的元素
因为在项目中找不到程序集节点。我尝试将xdt:Transform=“插入”添加到程序集节点,但它会导致web.configfile中的重复条目,如下所示
<assemblies>
<add assembly="ASSEMBLY1, Version=1.0.10, Culture=neutral" xdt:Transform="Insert"/>
<add assembly="ASSEMBLY2, Version=1.0.11, Culture=neutral" xdt:Transform="Insert"/>
<add assembly="ASSEMBLY3, Version=1.0.12, Culture=neutral" xdt:Transform="Insert"/>
<add assembly="ASSEMBLY4, Version=1.0.13, Culture=neutral" xdt:Transform="Insert"/>
<add assembly="ASSEMBLY1, Version=1.0.10, Culture=neutral" xdt:Transform="Insert"/>
<add assembly="ASSEMBLY2, Version=1.0.11, Culture=neutral" xdt:Transform="Insert"/>
<add assembly="ASSEMBLY3, Version=1.0.12, Culture=neutral" xdt:Transform="Insert"/>
<add assembly="ASSEMBLY4, Version=1.0.13, Culture=neutral" xdt:Transform="Insert"/>
</assemblies>如何避免重复的条目?
发布于 2016-05-19 05:27:39
为了避免插入重复的条目,您可以尝试先删除assemblies元素(如果有的话),然后插入一个新的条目,该元素随后使用<add assembly=""/>元素填充:
<compilation>
<assemblies xdt:Transform="Remove"/>
<assemblies xdt:Transform="Insert">
<add assembly="ASSEMBLY1, Version=1.0.10, Culture=neutral"/>
<add assembly="ASSEMBLY2, Version=1.0.11, Culture=neutral"/>
<add assembly="ASSEMBLY3, Version=1.0.12, Culture=neutral"/>
<add assembly="ASSEMBLY4, Version=1.0.13, Culture=neutral"/>
</assemblies>
</compilation>或者,您可以尝试使用InsertIfMissing转换在元素时插入,并避免重复,以防它已经存在:
<compilation>
<assemblies xdt:Transform="InsertIfMissing">
<add assembly="ASSEMBLY1, Version=1.0.10, Culture=neutral"
xdt:Transform="InsertIfMissing" xdt:Locator="Match(assembly)"/>
<add assembly="ASSEMBLY2, Version=1.0.11, Culture=neutral"
xdt:Transform="InsertIfMissing" xdt:Locator="Match(assembly)"/>
<add assembly="ASSEMBLY3, Version=1.0.12, Culture=neutral"
xdt:Transform="InsertIfMissing" xdt:Locator="Match(assembly)"/>
<add assembly="ASSEMBLY4, Version=1.0.13, Culture=neutral"
xdt:Transform="InsertIfMissing" xdt:Locator="Match(assembly)"/>
</assemblies>
</compilation>https://stackoverflow.com/questions/37314455
复制相似问题