当我将.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
答案 0 :(得分:2)
似乎你只想通过Octopus部署Asp.net应用程序,对吗?尽管Octopus建议使用NuGet包进行部署,但您无法将NuGet视为专为Visual Studio中使用的打包库而设计的。
NuGet专为在Visual Studio中使用的打包库而设计,这是一种与部署应用程序不同的使用场景。例如,在创建库NuGet包时,NuGet鼓励您将二进制文件放在lib文件夹中,将内容文件放在内容文件夹中。但是对于Octopus Deploy,这个约定没有意义 - 例如,你的ASP.NET应用程序会希望二进制文件位于bin文件夹中。相反,只需忽略NuGet包结构约定,并简单地构建您的包,就像在磁盘上提取时一样。
阅读here了解详情。
根据建议,您应该构建自己的Nuspec文件。