Jun 02 2020 12:00 PM
Jun 02 2020 12:00 PM
I've added a MSIX project to my solution. My Main project compiles and runs with no probems.
I can compile the MSIX project with no problems.
When I Start on Local Machine, the MSIX project displays the Main project, but says a dll is missing.
When I return to the Main project, certain dll's are missing from the reference (although not the dll MSIX said was missing.
I've done this 3 or 4 times with the same results.
Have I done something wrong?
Jun 02 2020 02:30 PM
What's the specific error you get at when you try run the app? And if you go to the output directory of the MSIX package is the dll there? e.g. MSIXProj\bin\x64\Debug\
Jun 03 2020 08:27 AM
No, the dll is not in the debug folder. And it is no longer in the Main project. When I attempt to add the dll back into the main project i'm getting the second error.
Jun 03 2020 10:33 AM
@rkamarowski The addition of the MSIX package should not affect dlls from the main package. I'm going to ignore that report in my comments here, assuming something else was going on.
There are situations where under MSIX your dlls would not be found. It depends on how the non-MSIX version would have found them as the LoadModule function will operate differently. A summary of these causes are:
Items 1 & 2 may be solved by adding PsfLauncher to the package and configuring your shortcut to target Psflauncher. In the config.json file you also add, you specify your target application exe and the working directory that you want. A value of "" gives you #1.
Items 3 & 4 may be solve by adding PsfLauncher plus a fixup called DynamicLibraryFixup. This fixup will force your application to find dlls located within the package, no matter where they are.
Jun 03 2020 11:27 AM
It's fixed! I was able to include the sqlite.interop.dll, and now it's perfect. As far as the disappearing dll's, it hasn't happened since I restarted the solution, so I'll assume it was something I was doing incorrectly.
Thanks everyone for the quick responses.