Asp.net mvc NuGet web.config.transform问题

Asp.net mvc NuGet web.config.transform问题,asp.net-mvc,transform,nuget,Asp.net Mvc,Transform,Nuget,我正在创建一个需要修改目标应用程序的web.config文件的自定义包,但我的配置更改在安装后不会出现在目标应用程序中 这是我的web.config.transform文件: <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="AppInstalled" value="false"/> </appSettings>

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

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

<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="AppInstalled" value="false"/> </appSettings> </configuration> appSettings部分中的此键永远不会应用

这是我的nuspec文件:

<?xml version="1.0"?> <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> <metadata> <id>$id$</id> <version>$version$</version> <authors>$author$</authors> <owners>$author$</owners> <licenseUrl>http://mvcapp.codeplex.com/license</licenseUrl> <projectUrl>http://mvcapp.codeplex.com/</projectUrl> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>$description$</description> <tags>mvc app</tags> </metadata> <files> <file src="\bin\Release\MvcApp.MVC3.dll" target="lib" /> <file src="NuGet\Content\ajax-loader.gif" target="Content" /> <file src="NuGet\Content\web.config.transform" target="web.config" /> <file src="NuGet\Views\Install\Index.aspx" target="Views\Install\Index.aspx" /> </files> </package> $id$ $version$ $author$ $author$ http://mvcapp.codeplex.com/license http://mvcapp.codeplex.com/ 假的 $description$ mvc应用程序 以下是我从VS 2010命令提示符下运行的用于打包项目的命令:

numget pack mvcapp.csproj

有什么想法吗


谢谢。

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

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

我知道这是一个老问题,但在搜索web.config.transform不适用的原因时,这是谷歌最热门的搜索结果之一,所以我希望我在这里应用这一点不是不合适的

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

完整版本; 我也有这个问题。使用NuGet Package explorer,我可以看到我的项目被适当地打包了。我把web.config.transform放在“content”下,把lib放在各自的lib文件夹下。正在部署dll,未应用web.config.transform

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


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

是的,这只是我在nuspec文件中发现的问题之一。我再次查看了文档,并删除了nuspec文件中的“files”元素,并使用NuGet约定处理nuspec文件文件夹下的/lib和/content文件夹。这对我来说更有效。谢谢。除此之外,我发现如果目标解决方案中已经存在节点,转换将不起作用。xdt更适合我: