【问题标题】:NuGet web.config.transform issueNuGet web.config.transform 问题
【发布时间】:2011-08-11 14:24:20
【问题描述】:

我正在创建一个需要修改目标应用程序的 web.config 文件的自定义包,但我的配置更改在安装后从未出现在目标应用程序中。

这是我的 web.config.transform 文件:

设置> 配置>

appSettings 部分中的这个键永远不会应用。

这是我的 nuspec 文件:

$id$$版本$版本> $作者$作者> $作者$所有者> http://mvcapp.codeplex.com/licensehttp://mvcapp.codeplex.com/$description$mvc 应用元数据> 文件> 包>

这是我从 VS 2010 命令提示符打包项目时运行的命令:

nuget pack mvcapp.csproj

有什么想法吗?

谢谢。

【问题讨论】:

    标签: asp.net-mvc transform nuget


    【解决方案1】:

    web.config.transform 文件需要进入内容文件夹:

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

    【讨论】:

    • 是的,这只是我在 nuspec 文件中发现的问题之一。我再次查看了文档,并试图删除 nuspec 文件中的“files”元素,并使用 NuGet 约定与 nuspec 文件所在文件夹下的 /lib 和 /content 文件夹。它对我来说效果更好。谢谢。
    • 最重要的是,我发现如果目标解决方案中已经存在 节点,则转换将不起作用。 xdt 对我来说效果更好:
    【解决方案2】:

    我知道这是一个老问题,但在搜索为什么 web.config.transform 不适用时,它是谷歌搜索结果中最热门的结果之一,所以我希望我在这里应用它不会不合适。

    TLDR; - 在测试迭代之间从目标项目的包目录中清除您的 nuget 文件(或者我假设版本号)。

    完整版; 我也有这个问题。我可以使用 NuGet 包资源管理器看到我的项目已正确打包。我在“内容”下有我的 web.config.transform,在它们各自的 lib 文件夹下有我的库。正在部署 dll,但未应用 web.config.transform。

    我正在测试的目标项目处于源代码控制之下,所以我会添加 nuget 包,看看发生了什么,然后回滚整个目录。但是我没有注意到包文件夹不受源代码控制,所以我最初安装包的文件夹就在那里。我也没有提高包 nuspec 中的版本号,因为我认为我不必这样做。

    最终我不得不从项目的包目录中清除我的 nuget 包目录,迫使下一次 nuget 安装尝试重新创建它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-23
      • 2018-04-02
      • 2023-04-11
      • 2014-01-15
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      相关资源
      最近更新 更多