如何在ASP.NET 5应用程序中禁用源代码发布?

时间:2014-11-14 13:47:01

标签: asp.net deployment publishing azure-web-sites asp.net-core

以下是发布后(在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
发布期间生成

web.config

我想知道,如何让它只部署已编译的输出而不是源文件?

1 个答案:

答案 0 :(得分:9)

  • 如果您要通过VS 2015发布,请进行以下选择以不部署源文件: enter image description here

  • 如果您不使用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>