Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not working when debugging, but works after publishing and running executable #115

Open
jonowilliams26 opened this issue Dec 2, 2023 · 1 comment

Comments

@jonowilliams26
Copy link

I am using Blazor Monaco in a Blazor Server app and experiencing some weird behaviour. When running in Visual Studio, I am getting errors, but when I publish the app, the package works.

When running the project in Visual Studio Blazor Monaco fails to load and I get the follow exception in the console.

fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
      Unhandled exception in circuit '3etjGIvbTp7lHvTo_xh410bBhhmS8PskWVf_CDdaXdw'.
      Microsoft.JSInterop.JSException: Could not find 'blazorMonaco.editor.create' ('blazorMonaco' was undefined).
Error: Could not find 'blazorMonaco.editor.create' ('blazorMonaco' was undefined).
    at https://localhost:7074/_framework/blazor.server.js:1:497
    at Array.forEach (<anonymous>)
    at s.findFunction (https://localhost:7074/_framework/blazor.server.js:1:465)
    at E (https://localhost:7074/_framework/blazor.server.js:1:2611)
    at https://localhost:7074/_framework/blazor.server.js:1:3499
    at new Promise (<anonymous>)
    at Ft.beginInvokeJSFromDotNet (https://localhost:7074/_framework/blazor.server.js:1:3480)
    at Ft._invokeClientMethod (https://localhost:7074/_framework/blazor.server.js:1:75072)
    at Ft._processIncomingData (https://localhost:7074/_framework/blazor.server.js:1:72696)
    at Ft.connection.onreceive (https://localhost:7074/_framework/blazor.server.js:1:67009)
         at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, Object[] args)
         at Microsoft.JSInterop.JSRuntimeExtensions.InvokeVoidAsync(IJSRuntime jsRuntime, String identifier, Object[] args)
         at BlazorMonaco.Helpers.JsRuntimeExt.SafeInvokeAsync(IJSRuntime jsRuntime, String identifier, Object[] args)
         at BlazorMonaco.Editor.Global.Create(IJSRuntime jsRuntime, String domElementId, StandaloneEditorConstructionOptions options, EditorOverrideServices overrideServices, DotNetObjectReference`1 dotnetObjectRef)
         at BlazorMonaco.Editor.StandaloneCodeEditor.OnAfterRenderAsync(Boolean firstRender)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

This is my _Host.cshtml

@page "/"
@using Microsoft.AspNetCore.Components.Web
@namespace CalculationSandbox.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <base href="~/" />
    <link href="app.css" rel="stylesheet" />
    <link rel="icon" type="image/png" href="favicon.png"/>
    <component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
</head>
<body>
    <component type="typeof(App)" render-mode="ServerPrerendered" />
    <script src="_content/BlazorMonaco/jsInterop.js"></script>
    <script src="_content/BlazorMonaco/lib/monaco-editor/min/vs/loader.js"></script>
    <script src="_content/BlazorMonaco/lib/monaco-editor/min/vs/editor/editor.main.js"></script>
    <script src="_framework/blazor.server.js"></script>
</body>
</html>

However, when I publish the app and run the published executable Blazor Monaco works without any issues.
I have tried the following

  • Uninstalling and re-installing the package
  • Deleting the bin and obj folders in the project
@serdarciplak
Copy link
Owner

There was another similar issue about static web assets not being available at the _content/BlazorMonaco/ path. That seems to be related to the app's configuration. The Microsoft doc here has some suggestions which may help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants