UnityStandaloneFileBrowser icon indicating copy to clipboard operation
UnityStandaloneFileBrowser copied to clipboard

Fails to build Unity.2019.3.0f3 Windows 64

Open NoxMortem opened this issue 6 years ago • 2 comments

[Exception] ArgumentException: The Assembly Mono.WebBrowser is referenced by System.Windows.Forms ('Assets/Plugins/StandaloneFileBrowser/Plugins/System.Windows.Forms.dll'). But the dll is not allowed to be included or could not be found.

Copying over the following .dll causes the Project to build again

  • From Unity\Hub\Editor\2019.3.0f3\Editor\Data\MonoBleedingEdge\lib\mono\2.0-api ** Mono.Posix.dll ** Mono.WebBrowser.dll
  • to StandaloneFileBrowser\Plugins*

However, using the OpenFolderPanel then fails with

NotSupportedException: Specified method is not supported.
  at (wrapper cominterop) Ookii.Dialogs.Interop.FileOpenDialogRCW..ctor()
  at Ookii.Dialogs.VistaFolderBrowserDialog.RunDialog (System.IntPtr hwndOwner) [0x0002f] in <31af777adad04cb788cee0ae18e55ae1>:0 
  at System.Windows.Forms.CommonDialog.ShowDialog (System.Windows.Forms.IWin32Window owner) [0x00022] in <75b5cf3ed2c949048fa3d163b7112565>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.CommonDialog.ShowDialog(System.Windows.Forms.IWin32Window)
  at SFB.StandaloneFileBrowserWindows.OpenFolderPanel (System.String title, System.String directory, System.Boolean multiselect) [0x0002c] in <101d639d50c64aaa8014327ad1711585>:0 
  at SFB.StandaloneFileBrowser.OpenFolderPanel (System.String title, System.String directory, System.Boolean multiselect) [0x00000] in <101d639d50c64aaa8014327ad1711585>:0 
  at Frameworks.IO.FileBrowser.OpenFolder (System.String path) [0x00022] in <c874c53545344e069d363351ca6356d9>:0 
  at Presentation.Menus.LoadScene.LoadOpcMenuItem.OnButtonClicked () [0x00000] in <ded431fef5034153ad07e8d2e59335eb>:0 
  at Infrastructure.NoxRx.UI.PresenterBindable`1+<>c__DisplayClass6_0[T].<Call>b__0 (T _) [0x00000] in <13aaf08a80ad427588610f476b517342>:0 
  at UniRx.Observer+Subscribe`1[T].OnNext (T value) [0x00008] in <101d639d50c64aaa8014327ad1711585>:0 
  at UniRx.Operators.RefCountObservable`1+RefCount[T].OnNext (T value) [0x00000] in <101d639d50c64aaa8014327ad1711585>:0 
  at UniRx.Subject`1[T].OnNext (T value) [0x00000] in <101d639d50c64aaa8014327ad1711585>:0 
  at UniRx.Operators.AsObservableObservable`1+AsObservable[T].OnNext (T value) [0x00000] in <101d639d50c64aaa8014327ad1711585>:0 
  at UniRx.Operators.FromEventObservable`1+FromEvent[TDelegate].OnNext () [0x0000b] in <101d639d50c64aaa8014327ad1711585>:0 
  at UnityEngine.Events.InvokableCall.Invoke () [0x00010] in <40c0e6fe295245dab933f5d3ac69460a>:0 
  at UnityEngine.Events.UnityEvent.Invoke () [0x00022] in <40c0e6fe295245dab933f5d3ac69460a>:0 
  at UnityEngine.UI.Button.Press () [0x0001c] in <649dbd3608c64a59abf1700d6987458f>:0 
  at UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) [0x00009] in <649dbd3608c64a59abf1700d6987458f>:0 
  at UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) [0x00007] in <649dbd3608c64a59abf1700d6987458f>:0 
  at UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) [0x00063] in <649dbd3608c64a59abf1700d6987458f>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ReleaseMouse(PointerEventData, GameObject)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMousePress(MouseButtonEventData)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent(Int32)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent()
UnityEngine.EventSystems.StandaloneInputModule:Process()
UnityEngine.EventSystems.EventSystem:Update()

while it does work inside of the editor.

  • Scripting Backend: Mono
  • Api Compatibility Level: .NET 2.0 Standard

Likely the same as, but should be confirmed. If it is one of the tickets should be closed.:

  • #69
  • #71

As the original author of this library seems not be active anymore, is there someone willing to fork this and continue to keep it compatible? If someone knows of an alternative that is still beeing maintained please ping me.

NoxMortem avatar Dec 14 '19 18:12 NoxMortem

Same issue here

shinkuan avatar Jun 10 '20 01:06 shinkuan

Had the same issue, was able to get it to build by switching my .NET framework from 2.x compatible to 4.x compatible.

EthanMichalicek avatar Oct 15 '20 18:10 EthanMichalicek