Open mricher-git opened 9 months ago
Yes, the class in the error is specifically to fix accessibility issues like the one you've got.
Due to the issue we're having with Railroaders, I moved Mono.* MonoMod.* to Railroader_Data\Managed. That removed the error during REPL init regarding SkipVisibilityExt but surprisingly continues to complain about the inconsistent accessibility. If we can sort out why the .dll's aren't being resolved, I suspect this issue will fix itself.
Edit: can confirm if I copy all .dll's to Managed (Mono.*, MonoMod.*, RuntimeUnityEditor.Core.dll), REPL works fine.
I have no idea what makes this tick, but I moved to a new PC and:
error CS0060: Inconsistent accessibility: base class RuntimeUnityEditor.Core.REPL.REPL' is less accessible than class
<InteractiveExpressionClass 4>'
is back, but without the exception being thrown as mentioned in my first post. Placed all dlls in the Managed folder, same as before, but it still doesn't work.
[RuntimeUnityEditor] Version '5.3'. Loading.
[RuntimeUnityEditor] Active.
[Manager] FINISH. SUCCESSFUL LOADED 5/5 MODS.
[Manager] Spawning.
[RuntimeUnityEditor] Successfully initialized 14/14 features: CursorUnlocker, WireframeFeature, ContextMenu, Taskbar, MouseInspect, ReplWindow, ObjectViewWindow, ProfilerWindow, ObjectTreeViewer, Inspector, ClipboardWindow, ChangeHistoryWindow, DnSpyHelper, GizmoDrawer
[Manager] Checking updates.
[RuntimeUnityEditor] [UnityInput] Using LegacyInputSystem
[RuntimeUnityEditor] Full GameObject list refresh finished in 2ms
[RuntimeUnityEditor] Full GameObject list refresh finished in 0ms
[RuntimeUnityEditor] [REPL] Found 512 public namespaces
Did you try making RuntimeUnityEditor.Core.REPL.REPL
public?
Isn't it already?
namespace RuntimeUnityEditor.Core.REPL
{
/// <summary>
/// C# REPL environment. Everything in here can be called directly in the REPL console.
/// </summary>
public class REPL : InteractiveBase
Oh, that's right, no idea then. I don't think OS has any effect on it, the game must be set up differently.
In 5.3 UMM flavor there is both a RuntimeUnityEditor.UMM.dll and a RuntimeUnityEditor.Core.dll.
From dnSpy, the UMM dll:
namespace RuntimeUnityEditor.Core.REPL
{
// Token: 0x0200002A RID: 42
internal class REPL : InteractiveBase
{
From the .Core.dll:
namespace RuntimeUnityEditor.Core.REPL
{
/// <summary>
/// C# REPL environment. Everything in here can be called directly in the REPL console.
/// </summary>
// Token: 0x0200001F RID: 31
public class REPL : InteractiveBase
{
Edit: I deleted the ILRepack.targets
from the UMM folder and re-compiled, and now have no issues.
FYI: Seems latest UMM (0.27.14) solved the issue of not loading additional referenced DLLs from mod folder, so this workaround is no longer required anyway.
So this commit can be safely reverted now? https://github.com/ManlyMarco/RuntimeUnityEditor/commit/55252e7ab8b7dda0c4123f987c1829316f62128a
Getting the following issue in Railroader: [RuntimeUnityEditor] [Warning] Failed to initialize REPL environment - The type initializer for 'Mono.CSharp.SkipVisibilityExt' threw an exception.
Seems https://github.com/5rog/Explorer has the same issue with mcs and commented out the constructor. I tried commented it out, REPL loads but then I get:
error CS0060: Inconsistent accessibility: base class
RuntimeUnityEditor.Core.REPL.REPL' is less accessible than class
<InteractiveExpressionClass 4>'Unsure if the two are related.