簡體   English   中英

NuGet web.config.transform問題

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM