使用自定义 Nuget 包更改当前 web.config
Change current web.config with custom Nuget package
我是创建自定义 nuget 包的新手。我使用了 NuGet Package Explorer 并将新的 Class Library dll 添加到我的本地 nuget 存储库。现在我可以将它安装到我的新项目中了。
但有时我需要安装自定义包并更改当前项目 web.config 文件。添加新键或部分。这可能吗?
您可以通过web.config.transform file or by using an XML document transform (XDT)修改web.config。
对于 .transform,您创建一个 web.config.transform 文件并将其放入 NuGet 包的 Content 目录中。 web.config.transform 文件包含与 web.config 文件相同的内容,它将在您安装 NuGet 包时应用于 web.config 文件。
XDT 更强大,可以对 web.config 文件进行更复杂的修改,例如插入或删除现有元素。在 NuGet 包的内容目录中创建 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
我是创建自定义 nuget 包的新手。我使用了 NuGet Package Explorer 并将新的 Class Library dll 添加到我的本地 nuget 存储库。现在我可以将它安装到我的新项目中了。
但有时我需要安装自定义包并更改当前项目 web.config 文件。添加新键或部分。这可能吗?
您可以通过web.config.transform file or by using an XML document transform (XDT)修改web.config。
对于 .transform,您创建一个 web.config.transform 文件并将其放入 NuGet 包的 Content 目录中。 web.config.transform 文件包含与 web.config 文件相同的内容,它将在您安装 NuGet 包时应用于 web.config 文件。
XDT 更强大,可以对 web.config 文件进行更复杂的修改,例如插入或删除现有元素。在 NuGet 包的内容目录中创建 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