Nuget将web.config重命名为web.config.transform

时间:2016-06-30 05:06:01

标签: c# nuget

当我将.csproj打包到.nupkg时,它会将Web.config重命名为Web.config.transform。在安装/部署Nuget软件包之后,我编写了一个脚本来撤消这个,但是我想知道是否有办法阻止Nuget在一个软件包上重命名我的web.config,或者它是否是设计中不可避免的一部分Nuget包。

我正在运行NuGet.exe v3.4.4-IncludeReferencedProjects作为命令行参数,我的配置设置为发布。

如果有人对hacky方法感兴趣,我的安装清理:

New-Item -ItemType Directory -Force -Path .\bin
xcopy .\lib\net45 .\bin /y /s
xcopy .\content .\  /y /s
Move-Item Web.config.transform Web.config -Force

1 个答案:

答案 0 :(得分:2)

似乎你只想通过Octopus部署Asp.net应用程序,对吗?尽管Octopus建议使用NuGet包进行部署,但您无法将NuGet视为专为Visual Studio中使用的打包库而设计的。

  

NuGet专为在Visual Studio中使用的打包库而设计,这是一种与部署应用程序不同的使用场景。例如,在创建库NuGet包时,NuGet鼓励您将二进制文件放在lib文件夹中,将内容文件放在内容文件夹中。但是对于Octopus Deploy,这个约定没有意义 - 例如,你的ASP.NET应用程序会希望二进制文件位于bin文件夹中。相反,只需忽略NuGet包结构约定,并简单地构建您的包,就像在磁盘上提取时一样。

阅读here了解详情。

根据建议,您应该构建自己的Nuspec文件。