标签: bitmapframe

如何在.Net5中引用WindowsBase?

我正在编写一个 .NET 5 类库,其中包含以下代码:

public T[] ConvertToArray<T>(BitmapFrame frame, int samplesPerPixel) where T:struct
{
    var pixelWidth = frame.PixelWidth;
    var array = new T[pixelWidth  * frame.PixelHeight * samplesPerPixel];
    var stride = pixelWidth * Marshal.SizeOf(typeof(T)) *samplesPerPixel;
    frame.CopyPixels(array,stride,0);//this line prevents the code from compiling
    return array;
}
Run Code Online (Sandbox Code Playgroud)

该行frame.CopyPixels给出以下编译错误:

CS7069 对类型“Freezable”的引用声称它是在“WindowsBase”中定义的,但找不到。应引用模块“WindowsBase,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf385ad364e35”

我一直在尝试从以下路径添加对 WindowsBase.dll 的引用:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.8\WindowsBase.dll

但我收到以下错误: 引用无效或不受支持

奇怪的是,Freezable 在Microsoft 文档中列在 .NET 5 下。也许问题是我正在使用适用于 .NET Framework 的 WindowsBase.dll,但我不知道 .NET 5 版本在哪里。

有什么想法可以解决这个问题并编译我的代码吗?

谢谢!

.net c# dll bitmapframe .net-5

2
推荐指数
1
解决办法
4853
查看次数

标签 统计

.net ×1

.net-5 ×1

bitmapframe ×1

c# ×1

dll ×1