Build issues iOS/Local

Hi,

I am running

Fuse version 0.36.1 (build 12010)

Copyright (C) 2017 Fusetools

with

Xcode 8.3.1
Build version 8E1000a

I have a couple of projects which I worked on with Fuse 0.34.0
I tried updating to 0.35.0 once when it first came out, but it caused a couple of build issues for iOS so I decided to wait.
Now I’ve updated to 0.36.1 and I am not able to run any of my projects I did with 0.34, no matter how mundane they are.

However setting up new Example projects works fine.

I did:

  • uno clean after updating
  • uninstall fuse completely using the script and reinstalled it
  • uninstall fuse and install 0.34.0 which worked fine (error persists now with 0.34.0)
    • this worked when stepping back from 0.35.0 to 0.34.0 (now every fuse installation is useless)

the errors persist.

Simple projects show this error pattern:
(local build)

Fuse 0.36.1 (build 12010)
Build started: FullCompile
Configuring
MainView.ux(1): E8001: allowed is not a valid property path
/Users/mvasyukov/Desktop/test/MainView.ux(1,1): Error E8001: allowed is not a valid property path
test.unoproj: E0000: Object reference not set to an instance of an object
/Users/mvasyukov/Desktop/test/test.unoproj(1,1): Error E0000: Object reference not set to an instance of an object

Build completed in 2.54 seconds
    2 errors
Build ended
fuse: Failed to compile project

More complex projects complain this way (local build):

../../../../Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(4805): E3114: There is no identifier named 'Binding' accessible in this scope. Did you mean 'Binding' (as in Fuse.Binding) or 'Binding' (as in Fuse.Binding)? For example, try adding 'using Fuse;' to the top of the code file. Could you be missing a package reference?
/Users/mvasyukov/Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(4805,1): Error E3114: There is no identifier named 'Binding' accessible in this scope. Did you mean 'Binding' (as in Fuse.Binding) or 'Binding' (as in Fuse.Binding)? For example, try adding 'using Fuse;' to the top of the code file. Could you be missing a package reference?
../../../../Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(4805): E3111: Fuse.Scripting does not contain type or namespace 'IScriptObject'. Could you be missing a package reference?
/Users/mvasyukov/Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(4805,1): Error E3111: Fuse.Scripting does not contain type or namespace 'IScriptObject'. Could you be missing a package reference?
../../../../Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(7733): E3114: There is no identifier named 'Node' accessible in this scope. Did you mean 'Node' (as in Fuse.Node)? For example, try adding 'using Fuse;' to the top of the code file. Could you be missing a package reference?
/Users/mvasyukov/Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(7733,1): Error E3114: There is no identifier named 'Node' accessible in this scope. Did you mean 'Node' (as in Fuse.Node)? For example, try adding 'using Fuse;' to the top of the code file. Could you be missing a package reference?
../../../../Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(7733): E3114: There is no identifier named 'Node' accessible in this scope. Did you mean 'Node' (as in Fuse.Node)? For example, try adding 'using Fuse;' to the top of the code file. Could you be missing a package reference?
/Users/mvasyukov/Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(7733,1): Error E3114: There is no identifier named 'Node' accessible in this scope. Did you mean 'Node' (as in Fuse.Node)? For example, try adding 'using Fuse;' to the top of the code file. Could you be missing a package reference?
../../../../Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(11): E3114: There is no identifier named 'Behavior' accessible in this scope. Did you mean 'Behavior' (as in Fuse.Behavior) or 'Behavior' (as in Fuse.Behavior)? For example, try adding 'using Fuse;' to the top of the code file. Could you be missing a package reference?

...

/Users/mvasyukov/Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(1342,1): Error E3114: There is no identifier named 'Easing' accessible in this scope. Did you mean 'Easing' (as in Fuse.Animations.Easing) or 'Easing' (as in Fuse.Animations.Easing)? For example, try adding 'using Fuse.Animations;' to the top of the code file. Could you be missing a package reference?
../../../../Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(1350): E3114: There is no identifier named 'Easing' accessible in this scope. Did you mean 'Easing' (as in Fuse.Animations.Easing) or 'Easing' (as in Fuse.Animations.Easing)? For example, try adding 'using Fuse.Animations;' to the top of the code file. Could you be missing a package reference?
/Users/mvasyukov/Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(1350,1): Error E3114: There is no identifier named 'Easing' accessible in this scope. Did you mean 'Easing' (as in Fuse.Animations.Easing) or 'Easing' (as in Fuse.Animations.Easing)? For example, try adding 'using Fuse.Animations;' to the top of the code file. Could you be missing a package reference?
../../../../Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(1358): E3114: There is no identifier named 'Easing' accessible in this scope. Did you mean 'Easing' (as in Fuse.Animations.Easing) or 'Easing' (as in Fuse.Animations.Easing)? For example, try adding 'using Fuse.Animations;' to the top of the code file. Could you be missing a package reference?
/Users/mvasyukov/Library/Application Support/Fusetools/Packages/FuseCore/0.46.1/$.uno(1358,1): Error E3114: There is no identifier named 'Easing' accessible in this scope. Did you mean 'Easing' (as in Fuse.Animations.Easing) or 'Easing' (as in Fuse.Animations.Easing)? For example, try adding 'using Fuse.Animations;' to the top of the code file. Could you be missing a package reference?

...

MainView.ux(53): E8001: Data type not found: Change
/Users/mvasyukov/Documents/app/MainView.ux(53,1): Error E8001: Data type not found: Change
MainView.ux(53): E8001: Could not resolve type 'Change'
/Users/mvasyukov/Documents/app/MainView.ux(53,1): Error E8001: Could not resolve type 'Change'
MainView.ux(57): E8001: Data type not found: Set
/Users/mvasyukov/Documents/app/MainView.ux(57,1): Error E8001: Data type not found: Set
MainView.ux(57): E8001: Could not resolve type 'Set'
/Users/mvasyukov/Documents/app/MainView.ux(57,1): Error E8001: Could not resolve type 'Set'
MainView.ux(67): E8001: Data type not found: Change
...

/Users/mvasyukov/Documents/app/APP.unoproj(1,1): Error E0000: Object reference not set to an instance of an object

Build completed in 12.15 seconds
  650 errors
Build ended
fuse: Failed to compile project

I’ve seen people fixing this by reinstalling, but it doesn’t work for me.
Downgrading back doesnt solve my issue, so I am kinda stuck now.
How can I get my projects to run?

Hi Maksym,

so for the larger projects, the solution is to remove any references to FuseCore package in all .unoproj files present in that project (including .unoproj files from other packages you might be using).

For the simple projects, it’s hard to tell without seeing any code / having a reproduction. Please do post a complete repro with steps taken and we’ll take a look as soon as possible.

Alright I did remove FuseCore Mentions form the .unoproj files

New Problems appear in imported packages:

fuse_modules/NativeControls/DatePicker.ScriptClass.uno(22.27): E4023: Cannot override non-virtual method 'Uno.UX.Property<string>.Get()'
/Users/mvasyukov/Documents/SeraGit/APLUS/aplusFuse/fuse_modules/NativeControls/DatePicker.ScriptClass.uno(22,28,22,31): Error E4023: Cannot override non-virtual method 'Uno.UX.Property<string>.Get()'
fuse_modules/NativeControls/DatePicker.ScriptClass.uno(29.25): E4023: Cannot override non-virtual method 'Uno.UX.Property<string>.Set(string,Uno.UX.IPropertyListener)'
/Users/mvasyukov/Documents/SeraGit/APLUS/aplusFuse/fuse_modules/NativeControls/DatePicker.ScriptClass.uno(29,26,29,29): Error E4023: Cannot override non-virtual method 'Uno.UX.Property<string>.Set(string,Uno.UX.IPropertyListener)'
fuse_modules/NativeControls/DatePicker.ScriptClass.uno(110.28): W4139: 'Uno.Data.Json.JsonReader.AsInteger()' is obsolete: 'Use AsNumber() instead'
/Users/mvasyukov/Documents/SeraGit/APLUS/aplusFuse/fuse_modules/NativeControls/DatePicker.ScriptClass.uno(110,29,110,38): Warning W4139: 'Uno.Data.Json.JsonReader.AsInteger()' is obsolete: 'Use AsNumber() instead'
fuse_modules/NativeControls/DatePicker.ScriptClass.uno(111.30): W4139: 'Uno.Data.Json.JsonReader.AsInteger()' is obsolete: 'Use AsNumber() instead'
/Users/mvasyukov/Documents/SeraGit/APLUS/aplusFuse/fuse_modules/NativeControls/DatePicker.ScriptClass.uno(111,31,111,40): Warning W4139: 'Uno.Data.Json.JsonReader.AsInteger()' is obsolete: 'Use AsNumber() instead'
fuse_modules/NativeControls/DatePicker.ScriptClass.uno(112.26): W4139: 'Uno.Data.Json.JsonReader.AsInteger()' is obsolete: 'Use AsNumber() instead'
/Users/mvasyukov/Documents/SeraGit/APLUS/aplusFuse/fuse_modules/NativeControls/DatePicker.ScriptClass.uno(112,27,112,36): Warning W4139: 'Uno.Data.Json.JsonReader.AsInteger()' is obsolete: 'Use AsNumber() instead'
fuse_modules/NativeControls/TimePicker.ScriptClass.uno(22.27): E4023: Cannot override non-virtual method 'Uno.UX.Property<string>.Get()'
/Users/mvasyukov/Documents/SeraGit/APLUS/aplusFuse/fuse_modules/NativeControls/TimePicker.ScriptClass.uno(22,28,22,31): Error E4023: Cannot override non-virtual method 'Uno.UX.Property<string>.Get()'
fuse_modules/NativeControls/TimePicker.ScriptClass.uno(29.25): E4023: Cannot override non-virtual method 'Uno.UX.Property<string>.Set(string,Uno.UX.IPropertyListener)'
/Users/mvasyukov/Documents/SeraGit/APLUS/aplusFuse/fuse_modules/NativeControls/TimePicker.ScriptClass.uno(29,26,29,29): Error E4023: Cannot override non-virtual method 'Uno.UX.Property<string>.Set(string,Uno.UX.IPropertyListener)'
fuse_modules/NativeControls/TimePicker.ScriptClass.uno(84.28): W4139: 'Uno.Data.Json.JsonReader.AsInteger()' is obsolete: 'Use AsNumber() instead'
/Users/mvasyukov/Documents/SeraGit/APLUS/aplusFuse/fuse_modules/NativeControls/TimePicker.ScriptClass.uno(84,29,84,38): Warning W4139: 'Uno.Data.Json.JsonReader.AsInteger()' is obsolete: 'Use AsNumber() instead'
fuse_modules/NativeControls/TimePicker.ScriptClass.uno(85.32): W4139: 'Uno.Data.Json.JsonReader.AsInteger()' is obsolete: 'Use AsNumber() instead'
/Users/mvasyukov/Documents/SeraGit/APLUS/aplusFuse/fuse_modules/NativeControls/TimePicker.ScriptClass.uno(85,33,85,42): Warning W4139: 'Uno.Data.Json.JsonReader.AsInteger()' is obsolete: 'Use AsNumber() instead'
(2.2 s)

Build completed in 6.92 seconds
    5 warnings
    4 errors
Build ended
fuse: Failed to compile project

So these new errors seem to be related to recent changes in Uno.Data.Json, which you can read more about here: https://www.fusetools.com/downloads/0.36.0.11838#uno-data-json

That community package will need to be updated accordingly.