【发布时间】:2016-08-02 06:05:04
【问题描述】:
documentation 表示您可以将 DLL 放在 bin 文件夹中并使用特殊的 #r 语法引用它,但是在 Azure 门户中我找不到如何上传这些 DLL。这可能吗?如果可以,应该如何实现?
【问题讨论】:
-
看起来问题是一样的,但答案却大不相同。该答案似乎不适用,但其中的链接提到了我认为正确的答案......
标签: azure azure-functions
documentation 表示您可以将 DLL 放在 bin 文件夹中并使用特殊的 #r 语法引用它,但是在 Azure 门户中我找不到如何上传这些 DLL。这可能吗?如果可以,应该如何实现?
【问题讨论】:
标签: azure azure-functions
您可以使用相对路径添加程序集引用。
在 portal.azure.com -> 功能应用程序的右侧,查看文件 -> 上传 dll(例如:YourDllName.dll)。
在 run.csx 中,输入 #r "./YourDllName.dll"
【讨论】:
您可以使用 Octopus Deploy(网站部署步骤)来部署功能。
推送到octopus deploy的nuget包的文件夹结构应该是:
nuget_package.nupkg
|--bin
|--*.dll
|--run.csx
|--function.json
【讨论】:
只需通过 Visual Studio Functions Tools 进行部署,您就可以部署具有一些外部引用的函数。
只需在您的 Visual Studio 部署设置中配置您的 Azure 帐户,即可使用您的 Azure 功能并进行部署。所有引用都将在 Azure 上的 Function App 中。
【讨论】:
Azure 函数现在具有对预编译函数的运行时支持。 https://blogs.msdn.microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/
您需要使用一个 Web 项目,该项目将提供 IntelliSense、本地调试和发布到 Azure 的完整开发体验。上面的说明详细说明了如何。
【讨论】:
这是可能的。
您可以使用 Kudu 上传您的二进制文件:
打开应用程序的 Kudu 门户。如果您的 Functions 应用程序的 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。
【讨论】:
run.csx(1,1): error CS0006: Metadata file 'Test.dll' could not be found
bin文件夹步骤。按照答案中的描述导航到 Kudu 后: 1. 在函数文件夹内创建一个bin 文件夹。 2. 将 DLL 文件上传到 bin 文件夹中。 3. 使用#r "Test.dll" 在csx 文件中引用它们。例如:D:\home\site\wwwroot\test1\bin\Test.dll 其中“test1”是函数名。