The editor stops reporting errors that are not there

Opening a NodeType source could show a row of red errors — The type or namespace name 'IMeshService' could not be found, The non-generic method 'IServiceProvider.GetService(Type)' cannot be used with type arguments — on code that compiles perfectly and is already running in production. The compile status for the very same NodeType said "the assembly was built without errors and is loaded". Both came from the platform, in the same minute, and they disagreed.

The editor was wrong. When a NodeType is built for real, all of its source files are combined into one file that begins with the framework's standard imports, so every file can use IMeshService, Controls, GetService<T> and the rest without importing them itself. The diagnostics service instead looked at each file on its own — which is what lets an error point at the exact file and line you are editing — and in C# an import only covers the file it is written in. So the standard imports covered nothing, and every source that relied on them was reported broken.

Diagnostics now build that same import scope explicitly, including the imports declared in neighbouring files, which the real compiler also shares out. Errors keep pointing at the precise file and line as before; there are simply no longer any phantom ones. If you have been adding using lines to silence errors the build never had, they were never needed.

The lesson we took from it: a compile verdict is only trustworthy when the thing reporting it is the thing that compiles. The diagnostics path now derives its imports from the same declaration the build uses, so the two cannot drift apart again.

Reconnecting…
The server was updated. Reloading the page to pick up the latest version.