ASP.NET API 无法在 Azure 上发布

2024-01-05

我正在尝试将 C# API 发布到 azure,我遵循了中的所有步骤本文档 https://learn.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-api-management-using-vs?view=aspnetcore-3.1在这里,但由于某种原因,当我发布应用程序时,构建成功并在执行以下行时崩溃

Generating swagger file to 'C:\Users\user\Projs\API\bin\Release\netcoreapp3.1\swagger.json'.

打印的唯一错误日志是

Failed to generate swagger file. Error dotnet swagger tofile --serializeasv2 --output "C:\Users\user\Downloads\Projs\API\bin\Release\netcoreapp3.1\swagger.json" "C:\Users\user\Downloads\Projs\API\bin\Release\netcoreapp3.1\API.dll" v1

Unhandled exception. System.IO.FileLoadException: Could not load file or assembly 'System.Runtime, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
File name: 'System.Runtime, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'




Be sure that the Startup.cs for your application is calling AddSwaggerGen from within ConfigureServices in order to generate swagger file. Visit https://go.microsoft.com/fwlink/?LinkId=2131205&CLCID=0x409 for more information.

这是我的startup.cs

 public void ConfigureServices(IServiceCollection services)
        {

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc(
                    "v1",
                    new Microsoft.OpenApi.Models.OpenApiInfo { Title = "My API", Version = "v1" });
            });

        }


  public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthentication();
            app.UseSwagger(c =>
            {
                c.SerializeAsV2 = true;
            });

            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("v1/swagger.json", "MyAPI V1");
            });

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }

这是我的.csproj file

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
      <UseNETCoreGenerator>true</UseNETCoreGenerator>
      <UserSecretsId>d844b2a8-00b0-473d-8f97-9dca9f2899bd</UserSecretsId>
  </PropertyGroup>

    <PropertyGroup Condition="'$(TargetFramework)' == 'net45'">
        <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    </PropertyGroup>
  <ItemGroup>
    <Folder Include="Model\" />
    <Folder Include="Context\" />
    <Folder Include="Contracts\ServiceResponse\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNet.SignalR" Version="2.4.1" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.13" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.13" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.11" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.11">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="3.1.11" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.10" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.11">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
    <PackageReference Include="AutoMapper" Version="10.1.1" />
    <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="3.2.4" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0" />
    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.8.0" />
    <PackageReference Include="System.Runtime" Version="4.3.1" />
    
  </ItemGroup>
</Project>

我已经尝试过这些链接中的解决方案,但没有一个有效

Visual Studio 2017 - 无法加载文件或程序集“System.Runtime,版本=4.1.0.0”或其依赖项之一 https://stackoverflow.com/questions/42755274/visual-studio-2017-could-not-load-file-or-assembly-system-runtime-version-4/42755305

https://github.com/Azure/azure-functions-vs-build-sdk/issues/160 https://github.com/Azure/azure-functions-vs-build-sdk/issues/160

无法加载文件或程序集“System.Runtime,Version=4.2.1.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a” https://stackoverflow.com/questions/60450266/could-not-load-file-or-assembly-system-runtime-version-4-2-1-0-culture-neutra

有没有办法来解决这个问题?

更新: 我尝试了一个解决方案,该解决方案由线程中的用户告知添加绑定重定向,我添加了一个web.config and a app.config并添加了绑定但仍然无法发布

更新2: 我找不到解决方案,所以我安装了 .net 5.0 并且它有效


您可以使用最新版本的 Swashbuckle.AspNetCore。我从 GitHub 上的 Swashbuckle 找到了官方解决方法:https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2006 https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2006

  1. 将 global.json 文件添加到您的 Web API 项目

  2. 把这个放进去:

    { “SDK”:{ “版本”:“3.1.406”, “rollForward”:“最新补丁” } }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET API 无法在 Azure 上发布 的相关文章

  • 读取文件特定行号的有效方法。 (奖励:Python 手册印刷错误)

    我有一个 100 GB 的文本文件 它是来自数据库的 BCP 转储 当我尝试导入它时BULK INSERT 我在第 219506324 行上收到一个神秘错误 在解决此问题之前 我想看看这一行 但可惜的是我最喜欢的方法 import line
  • 在 C# 中循环遍历文件文件夹的最简单方法是什么?

    我尝试编写一个程序 使用包含相关文件路径的配置文件来导航本地文件系统 我的问题是 在 C 中执行文件 I O 这将是从桌面应用程序到服务器并返回 和文件系统导航时使用的最佳实践是什么 我知道如何谷歌 并且找到了几种解决方案 但我想知道各种功
  • 用于检查项目文件中的项目变量和引用路径的 api

    我正在研究一个 net application VS2010 与 x 没有 解和变量号这些解决方案中的项目数量 我需要检查项目属性 特定于一定数量的项目 是否同质 并且检查 验证构建期间的参考路径 有没有一个API是这样的吗 如果没有 我该
  • 内存使用情况、CPU 时间、数据输出和文件系统存储如何应用于我的网站?

    请原谅我的无知 但我有几个问题 我似乎无法通过搜索或谷歌得到答案 这些问题看起来完全愚蠢 但老实说我需要帮助 在我的 Azure 网站门户上 我有一些我很好奇的东西 CPU Time 如何应用于我的网站 我不知道我是如何使用 CPU 的 除
  • 如何在 Linq 中获得左外连接?

    我的数据库中有两个表 如下所示 顾客 C ID city 1 Dhaka 2 New york 3 London 个人信息 P ID C ID Field value 1 1 First Name Nasir 2 1 Last Name U
  • Rx 中是否有与 Task.ContinueWith 运算符等效的操作?

    Rx 中是否有与 Task ContinueWith 运算符等效的操作 我正在将 Rx 与 Silverlight 一起使用 我正在使用 FromAsyncPattern 方法进行两个 Web 服务调用 并且我想这样做同步地 var o1
  • 如何将整数转换为 void 指针?

    在 C 中使用线程时 我面临警告 警告 从不同大小的整数转换为指针 代码如下 include
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实
  • 如何编写一个同时需要请求和响应Dtos的ServiceStack插件

    我需要提供本地化数据服务 所有本地化的响应 Dto 都共享相同的属性 IE 我定义了一个接口 ILocalizedDto 来标记那些 Dto 在请求端 有一个ILocalizedRequest对于需要本地化的请求 Using IPlugin
  • 私有模板函数

    我有一堂课 C h class C private template
  • 如何对 Web Api 操作进行后调用?

    我创建了一个 Web API 操作 如下所示 HttpPost public void Load string siteName string providerName UserDetails userDetails implementat
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • memset 未填充数组

    u32 iterations 5 u32 ecx u32 malloc sizeof u32 iterations memset ecx 0xBAADF00D sizeof u32 iterations printf 8X n ecx 0
  • 如何使用 Word Automation 获取页面范围

    如何使用办公自动化找到 Microsoft Word 中第 n 页的范围 似乎没有 getPageRange n 函数 并且不清楚它们是如何划分的 这就是您从 VBA 执行此操作的方法 转换为 Matlab COM 调用应该相当简单 Pub
  • 在客户端系统中安装后桌面应用程序无法打开

    我目前正在使用 Visual Studio 2017 和 4 6 1 net 框架 我为桌面应用程序创建了安装文件 安装程序在我的系统中完美安装并运行 问题是安装程序在其他计算机上成功安装 但应用程序无法打开 edit 在客户端系统中下载了
  • 找不到 securityToken 的有效键映射

    我正在开发测试应用程序 用于在 MVC ASP net Visual studio 2013 中显示经过身份验证的身份声明 我已通过以下方式从活动目录进行身份验证 1 在解决方案中添加新的mvc项目 2 单击更改身份验证 3 选择组织账户

随机推荐

  • twitter bootstrap 3.0 typeahead ajax 示例

    Bootstrap 2 有很多 typeahead ajax 示例 例如这里twitter bootstrap typeahead ajax 示例 https stackoverflow com questions 9232748 twit
  • 从数据框创建稀疏矩阵

    我正在做一项作业 尝试为 Netflix 奖项数据构建协作过滤模型 我使用的数据位于 CSV 文件中 我可以轻松地将其导入到数据框中 现在我需要做的是创建一个稀疏矩阵 其中用户作为行 电影作为列 每个单元格都由相应的评级值填充 当我尝试绘制
  • 另一个本地 gem 的“gem.add_dependency”

    我正在创建一个 gem 它依赖于另一个已发布的 gem 在my gem gemspec 我已将依赖项添加到另一个 gem gem add dependency other gem gt 1 0 0 现在 我发现了一个可以调整的功能其他宝石
  • 如何仅在增量代码上运行 Maven checkstyle 插件

    我想向我们的应用程序添加自动代码审查功能 目前我们使用maven来进行构建 我遇到了 Maven checkstyle 插件 但希望它仅在添加的增量代码上运行 而不是在旧代码上运行 我可以使用这个插件实现这个目标吗 如果是 请提供有关如何操
  • Shiny DataTable:使用按钮扩展保存完整的 data.frame

    我正在将 DataTables 与 Shiny 一起使用 通过按钮扩展 用户可以下载或打印数据表中的数据 但仅下载 打印行的可见部分 我想改变这种行为 以便可以下载包含所有行的完整 data frame 这可以通过按钮扩展实现吗 还是我必须
  • jQuery AJAX 回调中抛出的异常被吞没?

    除了向每个回调添加 try catch 块之外 还有什么方法可以处理 jQuery 中 AJAX 回调引发的异常吗 在这种情况下不会调用错误函数 ajax url myurl rails success function data thro
  • 向通用 RecyclerView 适配器添加点击侦听器

    Edit 因为它是一个通用适配器 并不简单 而且我知道添加点击侦听器的方法 在以下情况下这样做并不是一个好的做法onCreateViewHolder 所以这就是为什么我需要更好的建议 我创建了一个RecyclerView 的通用适配器 in
  • 在没有序列化器的对象上使用 JSON.stringify 需要标记为实验性的

    在Android Studio中使用kotlin插件1 3 10 当我尝试将一个简单类的对象字符串化为 JSON 时 它不会编译 此声明是实验性的 其用法必须标有 kotlinx serialization ImplicitReflecti
  • r 检查软件包版本是否大于 x.y.z

    R 包的版本号如 1 97 1 我可以检查版本号是多少 packageVersion data table 在我的计算机上 返回 1 10 0 我想要做的是检查 data table 版本是否比 1 9 7 更新 因为 1 9 7 之后的版
  • PHP 和 Javascript 交互

    我需要在这里澄清一些事情 我有一个网站 每次在浏览器中重新加载该网站时 都会更新两个变量的值 该页面显然是一个 HTML 页面 但变量是通过 javascript 函数更新的 该页面在我的服务器上运行 PHP 可以检索这些变量的值并使用它们
  • 验证命名约定? C# [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 R 中使用 ggplot2 制作默认自定义主题

    当我尝试使用应用定制主题时ggplot2它会收到如下错误 Error in FUN text 1L Theme element text has NULL property family face size hjust vjust angl
  • 图像文件中的二维码解码器(反应本机)

    我正在寻找一种从反应本机 特别是ios 中的图像文件中解码二维码的方法 我知道世博会提供相机扫描仪解决方案 但我需要文件解码器 很感谢任何形式的帮助 您可以使用jsQR 库 https github com cozmo jsQR从图像文件中
  • 将元素与 HTML 表格单元格的底部对齐

    我的 HTML 表格的一个单元格中有多个元素 我希望一些元素与单元格的底部对齐 一些元素与顶部对齐 我无法让元素与底部对齐 我的桌子是 tr td style background color 007CE2 p test br anothe
  • 带有命名空间的 XML 文档上的 XPath

    我有这个带有命名空间的 XML 文档 并且我想使用 XPath 提取一些节点 这是文件
  • Azure 函数在 azure 门户上显示 0 次执行

    我是一个蔚蓝新手 我的设置如下 我有一个 IoT 中心 一个事件中心 一个 Azure 函数 其想法是将消息发送到 IoT 中心 根据某种消息类型将它们路由到事件中心 并使用该函数处理这些事件 我创建了一个示例控制台应用程序 用于将消息从我
  • Ionic 2 范围触摸事件

    我正在尝试在输入末尾使用 Ionic 2 获取范围滑块的值 In the 文档 http ionicframework com docs v2 api components range Range output events唯一可用的事件是
  • ReaderWriterLockSlim 什么时候比简单的锁更好?

    我正在使用这段代码对 ReaderWriterLock 进行一个非常愚蠢的基准测试 其中读取的频率比写入的频率高 4 倍 class Program static void Main ISynchro test new Locked new
  • 类名中有一个“+”?

    班级名称 MyAssembly MyClass MyOtherClass 问题显然是 作为分隔符 而不是传统的点 它的作用 并查找官方文档 看看其他分隔符是否存在 这就是嵌套类型的表示方式 例如 namespace Foo class Ou
  • ASP.NET API 无法在 Azure 上发布

    我正在尝试将 C API 发布到 azure 我遵循了中的所有步骤本文档 https learn microsoft com en us aspnet core tutorials publish to azure api manageme