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

8

以下是在发布后部署内容的样子(在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文件

我在想,如何仅部署编译输出而非源代码文件?


你能否提供更多关于你是如何发布网站的细节呢?你使用了Visual Studio、Github、WebDeploy、FTP等工具进行发布吗? - Zain Rizvi
1个回答

9
  • 如果您通过VS 2015发布,那么请做出以下选择以不部署源文件: enter image description here

  • 如果您没有使用VS,则可以使用kpm pack命令来实现此目的。例如,以下是创建要部署的软件包时VS使用的命令(您可以在工具|选项|项目和解决方案|构建和运行中启用详细日志记录以查看此信息):

    "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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接