c# - 使用自定义 Nuget 包更改当前 web.config

标签 c# .net nuget nuget-package

我是创建自定义 nuget 包的新手。我使用了 NuGet Package Explorer 并将新的类库 dll 添加到我的本地 nuget 存储库。现在我可以将它安装到我的新项目中。

但有时我需要安装自定义包并更改当前项目的 web.config 文件。添加新键或部分。这可能吗?

最佳答案

您可以通过 web.config.transform file 修改 web.config或者使用 XML document transform (XDT) .

对于 .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

关于c# - 使用自定义 Nuget 包更改当前 web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36250997/

相关文章:

javascript - HTML 表单提交导致 IE11 中出现空白页

c# - 无法从程序集中加载类型

c# - 在哪里可以找到 C# 的 ICQ 库?

c++ - Coapp/autopkg : multiple include folders in/build/native/include/

c# - TeamCity NuGet 安装程序步骤失败

C# - 在 while 循环中从字典中删除项目

c# - 有没有办法将小巧的查询添加到列表并执行所有查询?

jquery - 我无法在 Visual Studio 2010 中获取 JQuery Intellisense

c# - 当接口(interface)中有重载方法时,为什么我的代码会调用错误的方法

c# - 使用文件上传控件过滤文件类型