我一直在遵循有关如何使用ImageResizer调整图像大小的教程,以侦听Azure Functions中的Blob存储触发器。但是,我收到以下错误消息:


错误CS0246:类型或名称空间名称'ImageResizer'不能为
找到(您是否缺少using指令或程序集引用?)

错误CS0246:类型或名称空间名称'ImageResizer'不能为
找到(您是否缺少using指令或程序集引用?)

错误CS0103:名称'ImageResizer'在当前不存在
语境


我的project.json配置已如下设置:

{
"frameworks": {
  "net46":{
    "dependencies": {
      "ImageResizer": "4.0.5"
    }
  }
 }
}


我的运行代码是:

#r "System.Drawing"
#r "System.Web"

using ImageResizer;
using System.Drawing;
using System.Drawing.Imaging;

public static void Run(Stream inputImage, string imageName, Stream outputImage, TraceWriter log)
{
    log.Info($"C# Blob trigger function Processed blob\n Name:{imageName} \n Size: {inputImage.Length} Bytes");

    var settings = new ImageResizer.ResizeSettings{
        MaxWidth = 400,
        Format = "jpg"
    };

    ImageResizer.ImageBuilder.Current.Build(inputImage, outputImage, settings);

}

最佳答案

我最终解决了这个问题。问题是,我实际上已将函数的名称称为“ ImageReizer”,该函数在后端的App Service Plan中使用该名称创建了一个文件夹。问题是,因为它与NugetPackage'ImageResizer'的名称相同,所以感到困惑,并在项目文件夹中查找,而不是在相同名称的包文件夹中查找。

我用其他名称(ImageManipulation)重建了函数,现在一切都按预期工作。

10-06 08:54