[英]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.