Monogame 3.7.1 Failed to load SDL Library

So I’m getting the Failed to Load SDL library error when I try to publish. I’m using Windows 10, and it’s a cross platform project. I see another answer on this forum says to switch the target framework to .Net core 3.1, but I don’t have that option under the drop down menu. Is there any other fix? I’m hesitant to migrate to 3.8 because it looks like there are major changes.

The most major change to 3.8 is its distribution. Everything else is fairly minor. I’ve already updated my projects and everything was just fine. Imo, a pretty good excuse to update. ( :

Check that you have SDL2.dll at the same directory where your .exe file is.

“witch the target framework to .Net core 3.1, but I don’t have that option under the drop down menu.”
You dont have to use netcore (I compile monogame by myself and use .dll with net framework 4.7 projects).
But if you want to, you can edit the .cproj file manually (vs2019 doesnt always show dropdown menu, dont quite understand why).

It runs when I run the .exe in the bin release folder (and has SDL2.dll), but when I try to publish to another folder the setup doesn’t work and it never gives me a .exe. Am I just going about publishing the wrong way?

And stupid question: to migrate to 3.8 would I just copy over all my classes to a new project?

Yes, you need to copy your classes into a new project.

You probably don’t even need to copy all your classes to a new project. I followed the in-place upgrade instructions at https://docs.monogame.net/articles/migrate_37.html to convert my project from 3.7 to 3.8 with only changing a couple project files.

Definitely save your work first, though (by using version control or manually copying everything somewhere).

It runs when I run the .exe in the bin release folder (and has SDL2.dll), but when I try to publish to another folder the setup doesn’t work and it never gives me a .exe. Am I just going about publishing the wrong way?

Is there a reason why you want to compile your software to another directory than Debug/Release directories?

I thought when I publish (through the VS options), I can just pick a directory? I don’t really know what I’m doing when it comes to release/publishing… What should I be doing?

Release/ dir is the directory you can publish (check it anyway but it isnt debug so there should be no debug files).