ASP.NET Core MVC 的 dotnet 发布无法正确处理 wwwroot 文件夹

问题描述 投票:0回答:1

我有一个简单的 github 操作部署:

    build:
      ..
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v4

        - name: Set up .NET Core
          uses: actions/setup-dotnet@v4
          with:
            dotnet-version: ${{ env.DOTNET_VERSION }}

        - name: Build with dotnet
          working-directory: ./${{ matrix.value }}
          run: dotnet build --configuration Release

        - name: dotnet publish
          working-directory: ./${{ matrix.value }}
          run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/${{ matrix.value }}/${{ env.APP_NAME }}

        - name: Upload artifact for deployment job
          uses: actions/upload-artifact@v3
          with:
            name: .net-ui
            path: ${{env.DOTNET_ROOT}}/${{ matrix.value }}/${{ env.APP_NAME }}

在下一份工作中,我将通过以下方式部署这些更改:

  - name: Deploy to Azure Web App
    id: deploy-to-webapp
    uses: azure/webapps-deploy@v2
    with:
      app-name: ${{ env.AZURE_APP_NAME }}
      package: ${{ env.AZURE_APP_PACKAGE_PATH }}

更新:我刚刚注意到

wwwroot
包含css和js文件的文件夹被复制到azure。我的服务器端文件放置在
C:\home\site\wwwroot
:

C:\home\site\wwwroot\wwwroot>ls     # pay attention on doubled `wwwroot`
UI.styles.css
css
favicon.ico
js
lib

但是

lib
文件夹没有所有文件:

C:\home\site\wwwroot\wwwroot\lib>ls    
bootstrap
jquery
jquery-validation
jquery-validation-unobtrusive

在本地,我还有带有

microsoft
依赖项的
signalr
文件夹(虽然依赖文件本身不在 git 下,但
microsoft
文件夹位于 git 下 => 所有这些行为都是默认的)。我想我需要以某种方式恢复它。

此外,一些本地显示的文件 (

/lib/jquery/dist/jquery.min.js
) 不会复制到 Azure 服务器上,即使它们所在的文件夹已被复制:

C:\home\site\wwwroot\wwwroot\lib\jquery>ls
LICENSE.txt     # pay attention no "dist" folder

在浏览器中不可见并给出此错误:

    GET https://azureapp.eastus-01.azurewebsites.net/lib/jquery/dist/jquery.min.js
    [HTTP/1.1 404 Not Found 351ms

如何修复处理静态文件(css/js)?任何帮助将不胜感激。

c# azure github-actions azure-appservice dotnetcorecli
1个回答
0
投票

检查

.csproj
文件。应包括以下行

<ItemGroup>
  <Content Include="wwwroot\**\*.*" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>

GitHub Actions 工作流程使用正确的 dotnet 发布命令

- name: dotnet publish
  working-directory: ./${{ matrix.value }}
  run: dotnet publish -c Release -o ./publish
© www.soinside.com 2019 - 2024. All rights reserved.