我有一个现有的Azure函数(版本1 V1)。我想将它们迁移到版本2(V2)。 Azure Function V1(.NET 4.61 / WebAPI 2) Azure Function V2(ASP.NET Core / MVC 6)。
我创建了AF-V2,并尝试从AF-V2调用(用.NET 4.61编写的类库.dll):构建成功。
[FunctionName("MyFunctionV2")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = "MyFunctionV2")] HttpRequest req,
ILogger log)
{
MyDllClass.InitializeSomething(parameter1, parameter2);//exception encountered here.
//my codes
当我调试代码时,它( MyDllClass.InitializeSomething(parameter1,parameter2); )遇到以下弹出窗口,说明将下载 源链接从互联网上 。
我有几个相关问题:
答案 0 :(得分:2)
要回答您的问题:
从互联网上下载源链接到底意味着什么?
这意味着您的代码在基础框架类之一中引发了异常。为了获取发生错误的源代码,Visual Studio需要下载该代码,并且源在Internet上。在您的屏幕截图中,您可以看到发生错误的类以及将要从中下载的git repo的链接。
如何从AF-V2调用.NET 4.61 classLibrary dll?
不幸的是,功能V2基于.NET core2。它不支持完整的框架(4.6 / 4.7等)。直接依赖的程序集也将需要移植到核心,或放置在服务接口后面。即在4.7中创建一个RESTful服务,然后从您的函数中调用它。
From supported Azure Functions .NET Run times:
C#
-1.x GA(.NET Framework 4.7)
-2.x GA(.NET Core 2)