NuGet 包如何包含 app.config 和 web.config 的转换?

Posted

技术标签:

【中文标题】NuGet 包如何包含 app.config 和 web.config 的转换?【英文标题】:How can a NuGet package include transformations for both app.config and web.config? 【发布时间】:2012-09-17 10:22:20 【问题描述】:

我正在尝试创建一个 nuget 包,该包将添加一个 DLL 并在适当的配置文件中对其进行配置。该软件包可用于控制台/表单应用程序或 Web 应用程序,因此我想更新相应的配置文件,app.config 或 web.config。

.nuspec 文件中的我的文件部分包含该部分的以下内容。

    <file src="config.transform" target="content\app.config.transform"/>
    <file src="config.transform" target="content\web.config.transform"/>

.nupkg 文件确实包含内容文件夹内的两个转换。

当我通过管理 NuGet 包将我的包添加到 VS2010 中的项目时,唯一被修改的文件是 app.config 文件。 Web.config 从未被触及。实际上,在具有现有 Web 配置的 Web 应用程序中,NuGet 将创建一个包含修改的 app.config 文件。

有没有办法做我想做的事情(如果有,怎么做)?

【问题讨论】:

【参考方案1】:

根据a related bug report,它应该已经可以按照您的意愿工作了。您正在运行最新版本的 NuGet?

【讨论】:

这完全是我自己的错。我没有意识到 NuGet 显然比我更聪明,并且只会在 Web 项目中应用 web.config 更新。我创建了一个 dll 项目并将 app.config 和 web.config 都放入其中以测试我的转换。

以上是关于NuGet 包如何包含 app.config 和 web.config 的转换?的主要内容,如果未能解决你的问题,请参考以下文章

类库的 app.config 中的绑定重定向有啥作用吗?

如何调试在 CI/CD 管道中编译和打包的 Release NuGet 包?

DLL版本在不同的NuGet包中发生冲突

运行 OctoPack 以创建包含 DEBUG 程序集的 nuget 包

如何从源代码管理中排除 NuGet 内容

使用我们自己的 Nuget 包安装时,如何将 PostSharp 包含在 ASP.NET WebApi 项目的构建过程中?