【问题标题】:How to organize Visual Studio publish folder?如何组织 Visual Studio 发布文件夹?
【发布时间】:2020-09-20 17:27:50
【问题描述】:

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

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

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

  3. 是否可以将所有依赖文件、dll 文件保存在一个 具体文件夹,我什么时候发布?

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

提前谢谢你。

【问题讨论】:

    标签: visual-studio asp.net-core web iis


    【解决方案1】:
    1. 默认情况下,Asp.Net Core 项目中的WWWRoot 文件夹被视为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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-03
      • 2017-08-22
      • 2018-01-25
      • 1970-01-01
      • 2020-02-21
      • 2010-09-08
      • 1970-01-01
      相关资源
      最近更新 更多