Is there now a good way in Unity4.3.3 to ignore incompatible .NET 3.5 dlls in Unity3D on the WP8 platform?
Right now iv’e made a menu tool that changes the .ext types of unsupported “dll” types to “dllx”.
This seems very hacky to me (It also doesn’t play well with Unity’s Version Control system, but does with GIT).
Is there a place I can put library based plugins that run on iOS/Android but should be ignored on WP8 ??
Also I should point out, even when I do the “dll” to “dllx” method I’m getting the error:
“Error building Player: Exception: Failed to run assembly preprocessor with command line “Temp/StagingArea/Data/Managed\P31RestKit.dllx” -injectCtor -assemblyPath “Temp/StagingArea” -pdb.[Temp/StagingArea/Data/Managed\P31RestKit.dllx]”
That’s because it checks the file contents (it finds that it’s a .NET assembly, which can have other formats than .dll, like .winmd). A workaround would be to make a fake DLL with the same name and version, and place it in Assets/Plugins/WP8, so it uses that one instead.
This doesn’t seems to be working. Whatever I put into that directory is just ignored. Even if I remove the original dll and only leave the fake one in “Asset/Plugins/WP8” it just can’t find the dll at all.
Yes this process seems to be very very flaky. You have to make 100% sure the version number on the fake dll is the same.
Normally the “dllx” method is better. Unity really really needs to add in Asset options that let you disable libs for particular platforms.
Just like to add a /Plugin/Standalone special names folder would be really nice in this situation. I currently have some dlls in my x86 folder that are causing my Android build to fail.