Visual Studio c# 中的子类 MultipartStreamProvider 失败?

Sub classing MultipartStreamProvider fails in Visual Studio c#?

我正在尝试在 Visual Studio、

中子class MultipartStreamProvider
System.TypeLoadException: Method 'GetStream' in type 
     'Uploadfunction.InMemoryMultipartFormDataStreamProvider' from assembly 
     'Uploadfunction, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 
     does not have an implementation.
  in Microsoft.NET.SDK.Functions.Build.targets line 31

我的第31行是这样的

        <BuildFunctions
  TargetPath="$(TargetPath)"
  OutputPath="$(TargetDir)"/>

我有 System.net 个程序集并且还下载了 Microsoft.net.sdk.functions (1.0.6)。

我的函数 class 看起来像这样 -

public static class UploadFunction
{
    [FunctionName("UploadFunction")]
    public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
    {


    //Check if the request contains multipart/form-data.
        if (!req.Content.IsMimeMultipartContent("form-data"))
        {
            return req.CreateResponse(HttpStatusCode.UnsupportedMediaType);
        }

      var provider = await req.Content.ReadAsMultipartAsync(new InMemoryStream());

    return req.CreateResponse(HttpStatusCode.OK, "File Uploaded");

 }

我的 InMemoryStream class 看起来像这样。

public class InMemoryStream : System.Net.Http.MultipartStreamProvider
{
    public override Stream GetStream(HttpContent parent, HttpContentHeaders headers)
    {
         MemoryStream s = new MemoryStream();
        return s;
    }


}

不确定是什么导致了 MultipartStreamProvider 的问题,但是如果您更改为 MultipartMemoryStreamProvider,它可以正常工作。

我的猜测是 System.Net 库在某种程度上不匹配,这导致 GetStream 实现之一无法对齐。您通常会看到 dll 版本不匹配的库。