gpt4 book ai didi

azure - GitHub actions 将错误版本的 Newtonsoft.Json nuget 包部署到 Azure

转载 作者:行者123 更新时间:2023-12-03 03:38:55 27 4
gpt4 key购买 nike

我有一个 GitHub 操作,用于构建、测试 .net 解决方案并将其部署到 Azure:

name: Build and deploy ASP.Net Core app to Azure Web App - project-test-api

on:
push:
branches:
- main
workflow_dispatch:

env:
# Stop wasting time caching packages
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
# Disable sending usage data to Microsoft
DOTNET_CLI_TELEMETRY_OPTOUT: true

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: AutoModality/action-clean@v1
- uses: actions/checkout@v2

- name: Set up .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'
include-prerelease: true

- name: Manually restore
working-directory: SolutionDir
run: dotnet restore --force

- name: Build with dotnet
working-directory: SolutionDir
run: dotnet build --configuration Release --no-restore

- name: Test
working-directory: SolutionDir
run: dotnet test --no-restore --no-build --configuration Release

- name: dotnet publish
working-directory: SolutionDir
run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp

- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: .net-app
path: ${{env.DOTNET_ROOT}}/myapp

deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'Production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: .net-app

- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@v2
with:
app-name: 'quickplanner-test-api'
slot-name: 'Production'
publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_SECRET }}
package: .

最近我向解决方案添加了一个测试项目。据我所知,测试项目中使用的包之一使用 Newtonsoft.Json v9.0,而解决方案的其余部分使用 v13.0。该解决方案可以在本地构建,经过测试,一切正常。 GitHub 操作还成功完成了解决方案的构建、运行测试并将其部署到 Azure。该问题发生在 Azure 上 - GitHub 操作使用旧版本的 Newtonsoft.Json 的某个地方。所有项目都期望更新,因此整个网站都因此而崩溃。我不知道如何解决这个问题 - 我尝试手动将正确版本的 Newtonsoft.Json 添加到测试项目、所有项目中,清除 GitHub 操作中的缓存,但没有运气。有效的方法只是从解决方案中删除测试项目,但显然我希望测试能够正常工作。有谁知道为什么会出现这种情况以及如何修复它?

最佳答案

我通过将此代码添加到我的测试项目 csproj 文件中成功解决了此问题:

<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>

我不完全确定这个问题背后的根本原因是什么

关于azure - GitHub actions 将错误版本的 Newtonsoft.Json nuget 包部署到 Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72185494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com