[英]NuGet web.config.transform issue
我正在创建一个需要修改目标应用程序的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>
这是我从VS 2010命令提示符运行打包项目的命令:
nuget pack mvcapp.csproj
有任何想法吗?
谢谢。
web.config.transform文件需要进入内容文件夹:
<file src="NuGet\Content\web.config.transform" target="content" />
我知道这是一个老问题,但它是搜索web.config.transform为什么不适用的最佳google结果之一,所以我希望我不会在这里应用它。
TLDR; - 在测试迭代之间清除目标项目的packages目录中的nuget文件(或者我假设版本号)。
完整版本; 我也有这个问题。 我可以看到使用NuGet Package explorer我的项目被正确打包。 我在“content”下有我的web.config.transform,在我们各自的lib文件夹下有我的libs。 dll已经部署,web.config.transform没有得到应用。
我正在测试的目标项目是在源代码管理下,所以我添加了nuget包,看看发生了什么,然后回滚整个目录。 但是,我没有注意到packages文件夹不在源代码管理下,因此我的初始软件包安装中的文件夹就在那里。 我也没有在包nuspec中增加版本号,因为我不认为我必须这样做。
最终我不得不从项目的packages目录中清除我的nuget包的目录,强制下一次nuget安装尝试重新创建它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.