我是创建自定义nuget包的新手。我使用了NuGet Package Explorer并将新的类库dll添加到我的本地nuget存储库中。现在我可以将它安装到我的新项目中。
但有时我需要安装我的自定义包并更改当前项目的web.config文件。添加新密钥或部分。这可能吗?
答案 0 :(得分:1)
您可以通过web.config.transform file或使用XML document transform (XDT)修改web.config。
对于.transform,您可以创建一个web.config.transform文件并放入NuGet包的Content目录中。 web.config.transform文件包含与web.config文件相同的文件,当您安装NuGet包时,它将应用于web.config文件。
XDT功能更强大,可以对web.config文件进行更复杂的修改,例如插入或删除现有元素。您可以在NuGet包的Content目录中创建web.config.install.xdt和(可选)web.config.uninstall.xdt文件。然后在安装或卸载NuGet包时运行这些转换。从NuGet文档中获取的示例如下所示。
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.webServer>
<modules>
<add name="MyNuModule" type="Sample.MyNuModule" xdt:Transform="Insert" />
</modules>
</system.webServer>
</configuration>
完整的XDT语法记录在MDSN website
上