以下是发布后(在Azure网站上)部署内容的样子:
/approot/packages - NuGet packages
/approot/src - all the source files from the solution
/approot/global.json - a list of global NuGet packages
/wwwroot/bin/AspNet.Loader.dll - the only .dll file in wwwroot folder
/wwwroot/css - front-end code
/wwwroot/lib - front-end code
/wwwroot/web.config - auto-generated
发布期间生成
我想知道,如何让它只部署已编译的输出而不是源文件?
答案 0 :(得分:9)
如果您要通过VS 2015发布,请进行以下选择以不部署源文件:
如果您不使用VS,则可以使用kpm pack
命令来实现此目的。例如,以下是VS用于创建要部署的程序包的命令(您可以在工具|选项|项目和解决方案|构建和运行中启用Detailed
登录,以查看此内容)
"C:\Users\kiranchalla\.kre\packages\kre-clr-x86.1.0.0-beta2-10690\bin\kpm.cmd" pack --runtime KRE-CLR-x86.1.0.0-beta2-10690 --out "C:\Users\kiranchalla\AppData\Local\Temp\AspNetPublish\WebApplication5-91" --wwwroot-out wwwroot --no-source --configuration Release --quiet
一些信息:
上面的效果是,现在您的应用程序已预编译,您应该在packages文件夹下看到一个包,web.config中的kre-app-base
标志指向此包。例如:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="kpm-package-path" value="..\approot\packages" />
<add key="bootstrapper-version" value="1.0.0-beta1" />
<add key="kre-package-path" value="..\approot\packages" />
<add key="kre-version" value="1.0.0-beta2-10690" />
<add key="kre-clr" value="CLR" />
<add key="kre-app-base" value="..\approot\packages\WebApplication5\1.0.0\root" />
</appSettings>
</configuration>