我能够将CoreCLR ASP.NET应用程序部署到Linux并让它们运行,欢呼。要做到这一点,我正在使用
dnu publish --no-source -o <dest-dir>
这给了我一个充满了许多CoreCLR软件包的目标,其中一个是我发布的应用程序的软件包。
此文件夹非常大,在https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-app-using-vscode/中描述的简单Web应用程序基础(无身份验证)大约为50 MB。
有没有一种合理的方式可以部署到Linux而不需要那么多推动?我可以以某种方式摆脱一堆那些CoreCLR包吗?有没有一种很好的方法来部署仅限源代码并在服务器上完成工作(我可能已经看到了一些关于这个的东西,但是如果我这样做的话,我就失去了它)?
答案 0 :(得分:1)
您已经发布了没有运行时(--runtime
上的dnu publish
选项),这大大减少了包大小。
你需要以某种方式获得服务器上的那些包。即使您只部署源,您也必须恢复哪些将下载相同数量的包。此外,从源运行会使应用程序启动速度显着降低(取决于依赖项的数量)。
但是,如果您发布整个捆绑包一次并且应用程序的依赖项不会更改,则只能上载与项目对应的文件夹,而不是重新上载所有依赖项。