Use a third party plugins

Hello,

I have managed to test a simple app (one sprite that move). Now I want to add a third party plugin (clanofthecloud) that provide a unity package with a .dll.
I do not managed to compil my test with this 3rd party lib on VS2015.

This 3Rd party lib use Threading, Exception … in their C# code.

I have tried to set Dont process on dll, tried to uset .net core partially but without succes. I managed to generate the VS project but anytime I build in VS I have error:
(WinRTBrige missing, or System.ApplicationException missing, …) Depends on config I used.

Even tried with il2cpp but Unity (5.3.4f1) throw error at build.

Any help?

Must I remove this 3Rd party lib? Or modify it (Open Source)?
Maybe use the C++ version of this lib but I do not know how to add it later on VS.

Thank you for your help. I am making a game for a game studio as indie and deadline approch (Android, ios and WebGL version are ok, but I must create windows phone app)

I think the bvest settings are:

. Plugins dll dont process
. Universal 10 + XAML + C# Project
. Script Backend .NET
. Use Net Core Partially

In this case unity create 3 projects and the first two compil well but the main project of the solution do not want.

The error is:
Cannot find type System.ApplicationException in module CommonLanguageRuntime

Then I suppose I must modify code of 3Rd party lib because this is not supported?

Where to see what is supported?

See this https://msdn.microsoft.com/en-us/library/windows/apps/br230232.aspx

Could you paste that error?

For il2cpp I have this error:

ebServices.xml" -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Core.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\IMGUI.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\JSONSerialize.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\ParticlesLegacy.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\ParticleSystem.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Physics.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Physics2D.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Terrain.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\TerrainPhysics.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\TextRendering.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UI.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UNET.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityAds.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityAnalytics.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityConnect.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityWebRequest.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\VR.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Web.xml” -d “D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Temp\StagingArea\Data\Managed” -a “D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll” -a “D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Temp\StagingArea\Data\Managed\UnityEngine.UI.dll” -a “D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Temp\StagingArea\Data\Managed\CotcSdk.dll”

stdout:
Fatal error in Mono CIL Linker
System.Exception: Error processing method: ‘System.Void CotcSdk.UnityHttpClientV2/UnityRequest::AbortRequest()’ in assembly: ‘CotcSdk.dll’ —> Mono.Cecil.ResolutionException: Failed to resolve System.Void UnityEngine.Experimental.Networking.UnityWebRequest::Abort()
� Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
� Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
� Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
� Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
� Mono.Linker.Steps.MarkStep.ProcessQueue()
— Fin de la trace de la pile d’exception interne —
� Mono.Linker.Steps.MarkStep.ProcessQueue()
� Mono.Linker.Steps.MarkStep.Process()
� Mono.Linker.Pipeline.Process(LinkContext context)
� Mono.Linker.Driver.RunDriver(Driver driver)
stderr:

UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:94)
UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable1, String&, String&, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:107) UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String[ ], String[ ], String, String, String&, String&, String, IIl2CppPlatformProvider, IEnumerable1, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:100)
UnityEditorInternal.AssemblyStripper:RunAssemblyStripper(String, IEnumerable, String, String[ ], String[ ], String, IIl2CppPlatformProvider, RuntimeClassRegistry, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:204)
UnityEditorInternal.AssemblyStripper:StripAssemblies(String, IIl2CppPlatformProvider, RuntimeClassRegistry, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:131)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:201)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:128)
PostProcessUAPIl2Cpp:RunIL2CPP() (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/PostProcessUAPIl2Cpp.cs:92)
PostProcessWinRT:Process() (at C:/buildslave/unity/build/PlatformDependent/WinRT/SharedSources/CSharp/PostProcessWinRT.cs:131)
UnityEditor.HostView:OnGUI

Semmes to be a problem with an experimental http request used by the 3rd party lib.

If possible I will stay with mono script backend but how to deal with the namespace System.ApplicationException?

If you have the source code for the DLL that uses System.ApplicationException, you can just replace it with normal “System.Exception”. That would probably be the easiest solution.

Is that the only thing that’s used that is not available? When building from Unity, it should print all the unavailable APIs that were used in the console.

When I use settings above unity does not warn about nothing. I must check if vs halt on error.
At this time only this error on vs. I will try but today is off in france

If I use .NET and do not check dont process .dll of the lib then Unity show me errors on console:

Reference rewriter: Error: type System.Collections.Specialized.IOrderedDictionary doesn’t exist in target framework.
Reference rewriter: Error: method System.Collections.IDictionaryEnumerator System.Collections.Specialized.IOrderedDictionary::GetEnumerator() doesn’t exist in target framework

System.Threading.ThreadStart
System.Void System.Threading.ThreadStart::.ctor(System.Object,System.IntPtr)
System.Void UnityEngine.Experimental.Networking.UnityWebRequest::.ctor(System.String)
System.Collections.Generic.Dictionary
System.Void System.Net.HttpWebRequest::set_UserAgent(System.String)
System.IAsyncResult System.IO.Stream::BeginRead(System.Byte[ ],System.Int32,System.Int32,System.AsyncCallback,System.Object)

IOrderedDictionnary is used in LitJSON and is .NEt for UWP apps as System.Threading.

Then I think I must check dont process .dll for the 3rd party plugins.

I will Git Clone their plugin and replace System.ApplicationException by System.Exception.

No, that’s not the right thing to do. You will simply hide the errors, that will only hunt you down later (at runtime or, even worse, when you will fail the certification when submitting to store).

Then why System.Collections.Specialized.IOrderedDictionary` doesn’t exist in target framework. I have checked and this namsepace is in the framework.

is it same with others.

It is available in desktop version of .NET Framework. Windows Store Apps uses .NET Core, many legacy APIs are not there.

Indeed for Phone 8 System.Collections.Specialized Namespace | Microsoft Learn

I do not see IOrderedDictionary interface

But if I build for windows 10 universal apps? Should have it ?

If I setup
. Plugins dll dont process
. Universal 10 + XAML + C# Project
. Script Backend .NET
. Use Net Core Partially

Then in execution the script that depends on 3rd party lib is missing.

You can easily figure out such things. Just create a C# application for Windows 10 Universal and try using those types/methods.

Great idea. I will try

Else the log console error when I build in Unity without check dont process:

Reference Rewriter found some errors while running with command --target=“Temp\StagingArea\CotcSdk.dll” --additionalreferences=“Temp\StagingArea”,“C:\Program Files (x86)\Windows Kits\10\UnionMetadata\Facade”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Calls.CallsVoipContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Devices.Printers.PrintersContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Graphics.Printing3D.Printing3DContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Networking.Connectivity.WwanContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Activation.ActivatedEventsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Activation.ActivationCameraSettingsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Activation.ContactActivatedEventsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Activation.WebUISearchActivatedEventsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Background.BackgroundAlarmApplicationContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Calls.Background.CallsBackgroundContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Calls.LockScreenCallContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Resources.Management.ResourceIndexerContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Search.Core.SearchCoreContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Search.SearchContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Wallet.WalletContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Devices.Custom.CustomDeviceContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Devices.Portable.PortableDeviceContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Devices.Printers.Extensions.ExtensionsContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Devices.Scanners.ScannerDeviceContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Devices.Sms.LegacySmsApiContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Gaming.Preview.GamesEnumerationContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Globalization.GlobalizationJapanesePhoneticAnalyzerContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Management.Deployment.Preview.DeploymentPreviewContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Management.Orchestration.OrchestrationContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Management.Workplace.WorkplaceSettingsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Media.Capture.AppCaptureContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Media.Capture.CameraCaptureUIContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Media.Devices.CallControlContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Media.MediaControlContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Media.Playlists.PlaylistsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Media.Protection.ProtectionRenewalContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Networking.NetworkOperators.LegacyNetworkOperatorsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Networking.Sockets.ControlChannelTriggerContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Security.EnterpriseData.EnterpriseDataContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Security.ExchangeActiveSyncProvisioning.EasContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Services.Maps.GuidanceContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Services.Maps.LocalSearchContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.System.Profile.SystemManufacturers.SystemManufacturersContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.System.Profile.ProfileHardwareTokenContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.System.Profile.ProfileRetailInfoContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.System.UserProfile.UserProfileContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.System.UserProfile.UserProfileLockScreenContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.UI.ApplicationSettings.ApplicationsSettingsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.UI.Core.AnimationMetrics.AnimationMetricsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.UI.Core.CoreWindowDialogsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.UI.Xaml.Hosting.HostingContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Web.Http.Diagnostics.HttpDiagnosticsContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Devices.DevicesLowLevelContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.System.SystemManagementContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.Calls.CallsPhoneContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.SocialInfo.SocialInfoContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.ApplicationModel.CommunicationBlocking.CommunicationBlockingContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Devices.SmartCards.SmartCardEmulatorContract\2.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Embedded.DeviceLockdown.DeviceLockdownContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Networking.NetworkOperators.NetworkOperatorsFdnContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Phone.PhoneContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.Phone.StartScreen.DualSimTileContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.UI.WebUI.Core.WebUICommandBarContract\1.0.0.0”,“C:\Program Files (x86)\Windows Kits\10\References\Windows.System.Profile.ProfileSharedModeContract\1.0.0.0” --platform=“C:\Program Files (x86)\Windows Kits\10\UnionMetadata\Facade\Windows.winmd” --support=“Temp\StagingArea\WinRTLegacy.dll” --supportpartialns=Unity.Partial --system=System --dbg=pdb --lock=UWP\project.lock.json --alt=System.Xml.Serialization;System.Collections,System.Collections.NonGeneric;System.Reflection,System.Reflection.TypeExtensions;System.IO,System.IO.FileSystem;System.Net,System.Net.Primitives;System.Net.Sockets,System.Net.Primitives;System.Xml,System.Xml.XmlDocument --ignore=System.IConvertible,mscorlib.
Error: type System.Collections.Specialized.IOrderedDictionary doesn’t exist in target framework. It is referenced from CotcSdk.dll at LitJson.IJsonWrapper.
Error: type System.Collections.Specialized.IOrderedDictionary doesn’t exist in target framework. It is referenced from CotcSdk.dll at LitJson.JsonData.
Error: type System.Collections.Specialized.IOrderedDictionary doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Object LitJson.JsonData::System.Collections.Specialized.IOrderedDictionary.get_Item(System.Int32).
Error: method System.Object System.Collections.Specialized.IOrderedDictionary::get_Item(System.Int32) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Object LitJson.JsonData::System.Collections.Specialized.IOrderedDictionary.get_Item(System.Int32).
Error: type System.Collections.Specialized.IOrderedDictionary doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void LitJson.JsonData::System.Collections.Specialized.IOrderedDictionary.set_Item(System.Int32,System.Object).
Error: method System.Void System.Collections.Specialized.IOrderedDictionary::set_Item(System.Int32,System.Object) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void LitJson.JsonData::System.Collections.Specialized.IOrderedDictionary.set_Item(System.Int32,System.Object).
Error: type System.Collections.Specialized.IOrderedDictionary doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Collections.IDictionaryEnumerator LitJson.JsonData::System.Collections.IDictionary.GetEnumerator().
Error: method System.Collections.IDictionaryEnumerator System.Collections.Specialized.IOrderedDictionary::GetEnumerator() doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Collections.IDictionaryEnumerator LitJson.JsonData::System.Collections.IDictionary.GetEnumerator().
Error: type System.Collections.Specialized.IOrderedDictionary doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Collections.IDictionaryEnumerator LitJson.JsonData::System.Collections.Specialized.IOrderedDictionary.GetEnumerator().
Error: method System.Collections.IDictionaryEnumerator System.Collections.Specialized.IOrderedDictionary::GetEnumerator() doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Collections.IDictionaryEnumerator LitJson.JsonData::System.Collections.Specialized.IOrderedDictionary.GetEnumerator().
Error: type System.Collections.Specialized.IOrderedDictionary doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void LitJson.JsonData::System.Collections.Specialized.IOrderedDictionary.Insert(System.Int32,System.Object,System.Object).
Error: method System.Void System.Collections.Specialized.IOrderedDictionary::Insert(System.Int32,System.Object,System.Object) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void LitJson.JsonData::System.Collections.Specialized.IOrderedDictionary.Insert(System.Int32,System.Object,System.Object).
Error: type System.Collections.Specialized.IOrderedDictionary doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void LitJson.JsonData::System.Collections.Specialized.IOrderedDictionary.RemoveAt(System.Int32).
Error: method System.Void System.Collections.Specialized.IOrderedDictionary::RemoveAt(System.Int32) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void LitJson.JsonData::System.Collections.Specialized.IOrderedDictionary.RemoveAt(System.Int32).
Error: method System.Type System.Type::GetInterface(System.String) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void LitJson.JsonMapper::AddArrayMetadata(System.Type).
Error: method System.Type System.Type::GetInterface(System.String) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void LitJson.JsonMapper::AddObjectMetadata(System.Type).
Error: type System.Threading.ThreadStart doesn’t exist in target framework. It is referenced from CotcSdk.dll at CotcSdk.DomainEventLoop CotcSdk.DomainEventLoop::Start().
Error: method System.Void System.Threading.ThreadStart::.ctor(System.Object,System.IntPtr) doesn’t exist in target framework. It is referenced from CotcSdk.dll at CotcSdk.DomainEventLoop CotcSdk.DomainEventLoop::Start().
Error: type System.Threading.ThreadStart doesn’t exist in target framework. It is referenced from CotcSdk.dll at CotcSdk.DomainEventLoop CotcSdk.DomainEventLoop::Start().
Error: method System.Void System.Threading.Thread::.ctor(System.Threading.ThreadStart) doesn’t exist in target framework. It is referenced from CotcSdk.dll at CotcSdk.DomainEventLoop CotcSdk.DomainEventLoop::Start().
Error: method System.Void System.Threading.Thread::Start() doesn’t exist in target framework. It is referenced from CotcSdk.dll at CotcSdk.DomainEventLoop CotcSdk.DomainEventLoop::Start().
Error: method System.Void System.Threading.Thread::Sleep(System.Int32) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.DomainEventLoop::Run().
Error: method System.Text.Encoding System.Text.Encoding::get_Default() doesn’t exist in target framework. It is referenced from CotcSdk.dll at CotcSdk.HttpRequest CotcSdk.Gamer::MakeHttpRequest(System.String).
Error: method System.Void System.Threading.Thread::Sleep(System.Int32) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.HttpClient::FinishWithRequest(CotcSdk.HttpClient/WebRequest,CotcSdk.HttpResponse).
Error: type System.Threading.WaitOrTimerCallback doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.HttpClient::processRequest(CotcSdk.HttpRequest,System.Object).
Error: method System.Void System.Threading.WaitOrTimerCallback::.ctor(System.Object,System.IntPtr) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.HttpClient::processRequest(CotcSdk.HttpRequest,System.Object).
Error: type System.Threading.ThreadPool doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.HttpClient::processRequest(CotcSdk.HttpRequest,System.Object).
Error: type System.Threading.RegisteredWaitHandle doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.HttpClient::processRequest(CotcSdk.HttpRequest,System.Object).
Error: type System.Threading.WaitOrTimerCallback doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.HttpClient::processRequest(CotcSdk.HttpRequest,System.Object).
Error: method System.Threading.RegisteredWaitHandle System.Threading.ThreadPool::RegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int32,System.Boolean) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.HttpClient::processRequest(CotcSdk.HttpRequest,System.Object).
Error: method System.Void UnityEngine.Experimental.Networking.UnityWebRequest::.ctor(System.String) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.UnityHttpClientV2/UnityRequest::.ctor(CotcSdk.UnityHttpClientV2,System.String,CotcSdk.HttpRequest,System.Object,System.Int32).
Error: method System.Void UnityEngine.Experimental.Networking.UnityWebRequest::set_method(System.String) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.UnityHttpClientV2/UnityRequest::.ctor(CotcSdk.UnityHttpClientV2,System.String,CotcSdk.HttpRequest,System.Object,System.Int32).
Error: method System.Void UnityEngine.Experimental.Networking.UnityWebRequest::SetRequestHeader(System.String,System.String) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.UnityHttpClientV2/UnityRequest::.ctor(CotcSdk.UnityHttpClientV2,System.String,CotcSdk.HttpRequest,System.Object,System.Int32).
Error: method System.Void UnityEngine.Experimental.Networking.UploadHandlerRaw::.ctor(System.Byte[ ]) doesn’t exist in target framework. It is referenced from CotcSdk.dll at System.Void CotcSdk.UnityHttpClientV2/UnityRequest::.ctor(CotcSdk.UnityHttpClientV2,System.String,CotcSdk.HttpRequest,System.Object,System.Int32).
Error: method `System.Void UnityEngine.Experimental.Networking.UnityWebRequest::set_uploadHandler(UnityEngine.Experimental.Networking.Up

I have tried and implement IOrderedDictionary MSDN sample: IOrderedDictionary Interface (System.Collections.Specialized) | Microsoft Learn

Added a gameobject with the script. Work well in Unity Editor but when I launch the UWP on my windows 10

The referenced script on this Behaviour (Game Object ‘GameObject’) is missing!

I do not understand why.

EDIT: Ok just deleted the visual project and rebuild. Now it is ok and IOrderedDictionary is OK.

Then the Plugins should works. I will try to recompil it

It is very hard to find why I cannot compil my project.

When I build with unity 5.3.4f1 I have the errors in previsou post.

The VS project is created and I can open it. But missing reference. I add its picking in Unprocessed folder.

But now I have this error (and some other):

The type ‘Object’ is defined in an assembly that is not referenced. You must add a reference to assembly ‘System.Runtime, Version=4.0.20.0, Culture=neutral, PublicKeyToken=null’.

Then we must have .net 4.0 ? But UWP use .NET 3.5 ? no?

Thank you for your help.

I try again with dont process Plugin checked:

. Unity No error
. Visual Studio No Error

But a runtime error:

Initialize engine version: 5.3.4f1 (fdbb5133b820)

‘TestClan.exe’ (CoreCLR: CoreCLR_UWP_Domain): Loaded ‘D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\TestClan\bin\x86\Release\AppX\UnityEngineProxy.dll’. Cannot find or open the PDB file.
‘TestClan.exe’ (CoreCLR: CoreCLR_UWP_Domain): Loaded ‘D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\TestClan\bin\x86\Release\AppX\System.Linq.dll’. Cannot find or open the PDB file.
Enabling independent input source.

Logical Screen DPI is 96.00.

The referenced script on this Behaviour is missing!

(Filename: C:/buildslave/unity/build/Runtime/Mono/MonoBehaviour.cpp Line: 1498)

‘TestClan.exe’ (CoreCLR: CoreCLR_UWP_Domain): Loaded ‘D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\TestClan\bin\x86\Release\AppX\System.Text.RegularExpressions.dll’. Cannot find or open the PDB file.
‘TestClan.exe’ (CoreCLR: CoreCLR_UWP_Domain): Loaded ‘D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\TestClan\bin\x86\Release\AppX\System.Globalization.dll’. Module was built without symbols.
The referenced script on this Behaviour (Game Object ‘Clan of the Cloud SDK’) is missing!

(Filename: C:/buildslave/unity/build/Runtime/Mono/MonoBehaviour.cpp Line: 1655)

UnloadTime: 46.503212 ms

‘TestClan.exe’ (CoreCLR: CoreCLR_UWP_Domain): Loaded ‘D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\TestClan\bin\x86\Release\AppX\System.Reflection.Extensions.dll’. Module was built without symbols.
Warning: unknown type CotcSdk.CotcGameObject detected. Using reflection to gather its type information. Consider to reference it from your scripts so it can gathered during the build process.

(Filename: C:\buildslave\unity\build\Runtime/Scripting/Backend/DotNet/ScriptingTypeProvider_DotNet.cpp Line: 153)

Exception thrown: ‘System.IO.FileLoadException’ in mscorlib.ni.dll
FileLoadException: Could not load file or assembly ‘System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
at System.Reflection.RuntimeMethodInfo.get_ReturnType()
at WinRTBridge.TypeInformationGatherer.GatherMethods(TypeInfo type, DotNetType* typeInfo)
at WinRTBridge.TypeInformationGatherer.GatherTypeInfo(Int32 typeId, IntPtr typeInfoPtr)
at UnityEngineProxy.InternalCalls.PInvokeCalls.Object_CUSTOM_FindObjectsOfType(Int32 param_0)
at UnityEngineProxy.InternalCalls.Object_CUSTOM_FindObjectsOfType(Type type)
at UnityEngine.Object.FindObjectOfType(Type type)
at UnityEngine.Object.FindObjectOfTypeT
at SampleScene.Start()
at SampleScene.$Invoke15(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
(Filename: Line: 0)

First seems missing a Script referenced in Plugins. But I have checked in visual studio (Go to definition) and visual open the assembly and show me the definition of CotcGameObject

I use
var cb = FindObjectOfType();

Second error is an exception.

If instead of search CotcGameObject at runtime I add a variable in another gameObject then visual complain at compil time:

UnityInstallationDir “C:\Program Files\Unity\Editor”.
1> UnityWSAPlayerDir “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport”.
1> UnityProjectDir “D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan”.
1> Copying unprocessed assemblies…
1> Running AssemblyConverter…
1> System.ArgumentNullException: La valeur ne peut pas être null.
1> Nom du paramètre : type
1> à Mono.Cecil.ModuleDefinition.ImportReference(TypeReference type, IGenericParameterProvider context)
1> à Mono.Cecil.ModuleDefinition.ImportReference(TypeReference type)
1> à Unity.ModuleContext.Retarget(TypeReference type, GenericContext context)
1> à Unity.ModuleContext.Retarget(MethodReference method, GenericContext context)
1> à Unity.FixReferencesStep.Visit(MethodDefinition method, GenericContext context)
1> à Unity.FixReferencesStep.Visit(TypeDefinition type)
1> à Unity.TypeDefinitionDispatcher.DispatchType(TypeDefinition type)
1> à Unity.TypeDefinitionDispatcher…ctor(ModuleDefinition module, ITypeDefinitionVisitor visitor)
1> à Unity.FixReferencesStep.ProcessModule()
1> à Unity.ModuleStep.Execute()
1> à Unity.FixReferencesStep.Execute()
1> à Unity.Step.Execute(OperationContext operationContext, IStepContext previousStepContext)
1> à Unity.Operation.Execute()
1> à Unity.Program.Main(String[ ] args)
1>D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\TestClan\TestClan.csproj(261,5): error MSB3073: The command ““D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\Unity\Tools\AssemblyConverter.exe” -platform=uap -lock=“D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\TestClan\project.lock.json” -bits=32 -removeDebuggableAttribute=False -path=”." -path=“…\Players\UAP\x86\Release” “D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\UWP\Assembly-CSharp\bin\x86\Release\Assembly-CSharp.dll” “D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\UWP\Assembly-CSharp-firstpass\bin\x86\Release\Assembly-CSharp-firstpass.dll” “D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\TestClan\UnityEngine.dll” “D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\TestClan\UnityEngine.UI.dll” “D:\ChaosGames\Prestation\Dowino\Klesia\test\TestClan\Win10\TestClan\UnityEngine.Networking.dll”" exited with code 1.
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========