-
Notifications
You must be signed in to change notification settings - Fork 564
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] libSkiaSharp.dll in x64 and x86 folder not been used #1311
Comments
I'm facing the same issue. I made a unit test project (.NET 4.8, Any CPU) that references a .NET Standard 2.0 library (Any CPU), and the latter references SkiaSharp 1.68.3. I got the following exception:
When using ProcMon, it seems the x86 and x64 directories where the
Manually copying the Any tips? |
As a temporary workaround, I added the following in a static constructor in my .NET Standard 2.0 project that references SkiaSharp, but this is not a good nor secure solution:
|
Exact same issue as mine, but mine is on iOS. |
This is slightly different as iOS is supposed to get it right. This issue is really just for the old Full Framework on Windows. The new .NET Core system does not need this. As much as I like Full Framework, it probably will not get fixed any time soon - especially since all the new platforms work. Not that this is unimportant, but we are focusing on making .NET Core work best. And, this issue has a decent workaround for now. @chrisfoulds I replied to that issue. |
Fixing this in #1342 |
Fixed in #1342 and will be in the next version. No longer is libSkiaSharp.dll copied to the root directory as there is no way to know which one is meant to be used. Instead, they are copied into the x86 and x64 sub directories and the library will load the correct one. |
Description
SkaiShapr version:1.68.3
Environment: Visual Stdio 2019
Project: .NetFramework project (Please note the issue not happening in .NetCore Project)
Compile platform: Any CPU
Issue:
When compile the project, libSkiaSharp.dll been copied to
Bin\Debug\x64\libSkiaSharp.dll
Bin\Debug\x86\libSkiaSharp.dll
Bin\Debug\libSkiaSharp.dll
but it seems like application not using any of those Dlls in x64 nor x86. Instead application always using the one the Debug folder.
My understanding is that the Bin\Debug\libSkiaSharp.dll shouldn't be there at all, app should use the ones in x64/x86 folder depending on current application platform (any cpu/x86/x64).
Code
No code needed, just reference the nugetpackage, and compile.
Expected Behavior
Application should use Bin\Debug\x86(x64)libSkiaSharp.dll depending on current application platform (any cpu/x86/x64) automatically
Actual Behavior
Application always using the one in Bin\Debug\libSkiaSharp.dll.
Basic Information
Screenshots
none
Reproduction Link
The text was updated successfully, but these errors were encountered: