【问题标题】:CSS+JS recources and Blazor .NET Core 3.0 application compilationCSS+JS 资源和 Blazor .NET Core 3.0 应用程序编译
【发布时间】:2019-11-21 15:59:42
【问题描述】:

我在 MS VS 2019 中创建了标准 Blazor 应用程序并对其进行了编译。

结果我有文件夹 bin\Debug\netcoreapp3.0\ 和文件

  • 属性\
  • BlazorApp1_FOR_DELETE.runtimeconfig.dev.json
  • BlazorApp1_FOR_DELETE.runtimeconfig.json
  • BlazorApp1_FOR_DELETE.deps.json
  • BlazorApp1_FOR_DELETE.Views.pdb
  • BlazorApp1_FOR_DELETE.Views.dll
  • BlazorApp1_FOR_DELETE.exe
  • BlazorApp1_FOR_DELETE.dll
  • BlazorApp1_FOR_DELETE.pdb
  • appsettings.json
  • appsettings.Development.json

在里面。 当我启动 BlazorApp1_FOR_DELETE.exe 并打开 http://localhost:5000/ 时,无法加载 css 和 js 文件(对于 CSS 和 JS 文件,应用程序返回 404)。

但是如果我将文件夹 wwwroot 从根项目文件夹复制到 bin\Debug\netcoreapp3.0\ 并重新启动 BlazorApp1_FOR_DELETE.exe ,所有资源文件都会正确加载到浏览器中。

当我运行 Build - Rebuild 解决方案时,如何将 wwwroot 中的所有资源文件(CSS、JS...)编译成我的应用程序的编译版本?

【问题讨论】:

  • 您需要发布运行dotnet publish 的应用程序,如果您想从 .exe 启动它,请使用已发布的 .exe
  • 再次感谢您! :) 但是,出于好奇,这些文件是否可以编译成应用程序 DLL 来存储在 wwwroot 中?
  • 你的意思是作为资源嵌入吗?
  • 是的,类似的。我尝试将它们标记为嵌入式资源并删除 wwwroot,但在这种情况下,应用程序会为这些文件链接返回 404。
  • 您可以使用 .net core 3 在一个 .exe 文件中发布您的应用程序。它将在第一次运行时被删除,但您不能将您的 css 和 js 作为资源嵌入,因为浏览器不会了解。

标签: c# asp.net-core razor blazor .net-core-3.0


【解决方案1】:

如果您想从 .exe 启动它,您需要发布运行 dotnet publish 的应用并使用发布的 .exe。

您可以使用 .net core 3 在一个 .exe 文件中发布您的应用。它将在第一次运行时解压缩,但您不能将 css 和 js 作为资源嵌入,因为浏览器无法理解。

dotnet publish -r win-x64 -p:PublishSingleFile=true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多