【发布时间】: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