mellinoe / veldrid-samples

Sample projects for Veldrid
https://mellinoe.github.io/veldrid-docs/
121 stars 49 forks source link

AssetProcessor is broken on Windows #28

Open Journeyman1337 opened 3 years ago

Journeyman1337 commented 3 years ago

The AssetProcessor tool fails to process assets, resulting in build failures for all of the samples that use them. Visual studio gives the following error when trying to build the TexturedCube sample:

The command "dotnet C:\<containing folder>\veldrid-samples\bin/Debug/AssetProcessor/netcoreapp2.0/AssetProcessor.dll C:\<containing folder>\veldrid-samples\bin\obj\TexturedCube\/ProcessedAssets C:\<containing folder>\veldrid-samples\assets\sponza\spnza_bricks_a_diff.png" exited with code -532462766.    

The output shows the exception thrown by AssetProcessor:

Unhandled Exception: System.MissingMethodException: Method not found: 'System.Span`1<!!1> System.MemoryExtensions.NonPortableCast(System.Span`1<!!0>)'.
1>   at SixLabors.ImageSharp.Memory.ArrayPoolMemoryManager.Buffer`1.get_Span()
1>   at SixLabors.ImageSharp.Image.<>c__DisplayClass0_0.<InternalDetectFormat>b__0(IImageFormatDetector x)
1>   at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
1>   at System.Linq.Enumerable.TryGetLast[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
1>   at SixLabors.ImageSharp.Image.InternalDetectFormat(Stream stream, Configuration config)
1>   at SixLabors.ImageSharp.Image.DiscoverDecoder(Stream stream, Configuration config, IImageFormat& format)
1>   at SixLabors.ImageSharp.Image.Decode[TPixel](Stream stream, Configuration config)
1>   at SixLabors.ImageSharp.Image.WithSeekableStream[T](Configuration config, Stream stream, Func`2 action)
1>   at SixLabors.ImageSharp.Image.Load[TPixel](Configuration config, Stream stream, IImageFormat& format)
1>   at SixLabors.ImageSharp.Image.Load(Stream stream)
1>   at AssetProcessor.ImageSharpProcessor.ProcessT(Stream stream, String extension) in C:\<containing folder>\veldrid-samples\src\AssetProcessor\ImageSharpProcessor.cs:line 20
1>   at AssetProcessor.BinaryAssetProcessor`1.Process(Stream stream, String extension) in C:\<containing folder>\veldrid-samples\src\AssetProcessor\BinaryAssetProcessor.cs:line 12
1>   at AssetProcessor.Program.Main(String[] args) in C:\<containing folder>\veldrid-samples\src\AssetProcessor\Program.cs:line 56

Originally posted by @Journeyman-dev in https://github.com/mellinoe/veldrid-samples/issues/26#issuecomment-733990136