首页 > 解决方案 > 如何组织 Visual Studio 发布文件夹?

问题描述

关于在 Visual Studio 中发布 ASP NET Core 应用程序的过程,我有几个问题:

  1. 是否可以更改 wwwroot 的名称而不会产生影响?

    • 我的意思是,在 Razor 页面的 html 代码中,如果有从该目录获取图像和字体的元素。有些有内联CSS。但是
      当我更改根文件夹的名称时,它会破坏一切。
      不保留字体或原始样式。
  2. 在运行时文件夹中,我有 Unix、Win x64、Win x86 等文件夹。例如,我不能在构建设置中指定这些操作系统之一吗?

  3. 当我发布时,是否可以将所有依赖文件、dll 文件保存在特定文件夹中?

这只是为了最终有一个更好的组织。

先感谢您。

标签: visual-studioasp.net-corewebiis

解决方案


  1. 默认情况下,WWWRootAsp.Net Core 项目中的文件夹被视为 Web 根文件夹。静态文件可以存储在 Web 根目录下的任何文件夹中,并通过该根目录的相对路径进行访问。
    我们可以WWWRoot根据我们的选择将文件夹重命名为任何其他名称,并在 Program.cs 中准备托管环境时通过以下方法将其设置为 Web 根目录。

    public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }
    
        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                   //custom the web root foler.
                    webBuilder.UseWebRoot("wwwroot1");
                    webBuilder.UseStartup<Startup>();
                });
    

    https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-3.1

  2. 为了构建跨平台的 asp.net 核心应用程序,我们可以使用 RuntimeIdentifiers(RID) 指定目标运行时身份。
    https://docs.microsoft.com/en-us/dotnet/core/tools/csproj#runtimeidentifiers
    此外,我们可以在发布概述中选择加入它。 检查此以获取更多详细信息。https://stackify.com/cross-platform-net-core-apps/ https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
    在此处输入图像描述


  3. 是否打包依赖文件,我们通常称之为方案部署方式(自包含部署和框架依赖部署)。
    https://docs.microsoft.com/en-us/dotnet/core/deploying/

推荐阅读