文档说您可以将 DLL 放在文件bin
夹中并使用特殊#r
语法引用它,但是在 Azure 门户中我找不到如何上传这些 DLL。这是否可能,如果可以,应该如何实现?
5 回答
这个有可能。
您可以使用 Kudu 上传您的二进制文件:
打开应用程序的 Kudu 门户。如果您的 Functions App 的 URL 是
samplefunctions.azurewebsites.net
,则转到samplefunctions.scm.azurewebsites.net
。单击
Debug console
菜单并选择PowerShell
。这将打开一个 PowerShell 控制台和一个文件资源管理器。导航到D:\home\site\wwwroot
。在那里,您应该会看到一个以现有函数命名的文件夹。导航到该文件夹并将您的二进制文件拖放到
bin
文件夹中。现在您可以将它们与
#r
指令一起使用。
我认为您还应该能够将库的持续部署配置为 Functions(例如来自 Git 存储库)。转到Function app settings
-> Configure Continuous Integration
。
Azure 函数现在具有对预编译函数的运行时支持。 https://blogs.msdn.microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/
你需要使用一个 Web 项目,该项目将提供 IntelliSense、本地调试和发布到 Azure 的完整开发体验。上面的说明详细说明了如何。
您可以使用 Octopus Deploy(网站部署步骤)来部署功能。
推送到octopus deploy的nuget包的文件夹结构应该是:
nuget_package.nupkg
|--bin
|--*.dll
|--run.csx
|--function.json
您可以部署具有一些外部引用的函数,只需通过 Visual Studio 函数工具进行部署。
只需在您的 Visual Studio 部署设置中配置您的 Azure 帐户,即可使用您的 Azure 功能并进行部署。所有引用都将在 Azure 上的 Function App 中。
您可以使用相对路径添加程序集引用。
在 portal.azure.com -> 功能应用程序的右侧,查看文件 -> 上传 dll(例如:YourDllName.dll)。
在 run.csx 中,输入 #r "./YourDllName.dll"