【问题标题】:Deploy .NET app to Azure without building it将 .NET 应用程序部署到 Azure 而不构建它
【发布时间】:2022-06-14 18:02:01
【问题描述】:
我有一个 .NET Framework 应用程序,它使用特殊脚本构建,可将其转换为 .NET Core 项目并将输出文件 (.DLL) 放入特定目录。
我的任务是将此文件夹部署到 Azure Web 应用服务。
- 我无法在 Azure 上自动构建项目(因为构建过程是特定的)
- 我无法将文件夹作为 .zip 发送(因为 .zip 不是跨平台的。我在 Windows 上存档,但我的 Azure 应用程序在 Linux 上,因此路径斜杠存在误解)
- 我无法将文件夹作为 .tar 文件发送,因为它不会自动取消归档,而且 Azure 中没有可以取消归档的 .NET 应用程序的启动脚本。
在这种情况下,我可以做些什么来放置文件并在 Azure 上运行特定的 .exe 文件?谢谢。
【问题讨论】:
标签:
.net
azure
deployment
azure-web-app-service
【解决方案1】:
-
创建控制台应用
-
在 Azure 门户中创建函数应用
-
将控制台应用作为函数上传
Function Apps 是 Azure Web Apps 的特殊版本
-
打开应用的 Kudu 门户。
路径:Azure 门户 => 您的函数应用 => 高级工具 => 转到 => 调试控制台
-
在函数应用的域名中添加.scm。
-
例如,如果 Function App 的 URL 是 myfunctions.azurewebsites.net,则 Kudu 门户的 URL 是 myfunctions.scm.azurewebsites.net。
-
单击“调试控制台”菜单 => 选择“PowerShell”。导航到D:\home\site\wwwroot 文件夹
-
点击“+”按钮创建一个文件夹。
-
将我们的控制台应用程序从 Windows 资源管理器拖放到页面的文件资源管理器部分,以将其放置在新文件夹中。包括它需要的任何 DLL 和配置文件。
-
构建一个run.ps1 PowerShell 脚本并将其保存到文件夹中。这是实际的功能。我们里面只有一行调用我们的可执行文件:
.\AzureFunctionsConsole.exe
更多信息请参考文章A1,A2