- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 ABP 框架 (3.3) 和 ASP.NET Core (3.1)。
在编译应用程序后,我尝试使用 Swashbuckle.AspNetCore.Cli ( https://github.com/domaindrivendev/Swashbuckle.AspNetCore#retrieve-swagger-directly-from-a-startup-assembly ) 生成 swagger.json,使用以下命令指向已编译的 dll:
dotnet swagger tofile --output "C:\temp\swagger".\bin\Release\netcoreapp3.1\MyBin.dll v1
它给了我以下异常:
Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'provider')
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at Microsoft.Extensions.DependencyInjection.ServiceCollectionCommonExtensions.GetRequiredService[T](IServiceCollection services)
at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy`1.CreateValue()
at System.Lazy`1.get_Value()
at Volo.Abp.AspNetCore.Mvc.AbpDataAnnotationAutoLocalizationMetadataDetailsProvider.CreateDisplayMetadata(DisplayMetadataProviderContext context)
at Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultCompositeMetadataDetailsProvider.CreateDisplayMetadata(DisplayMetadataProviderContext context)
at Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.get_DisplayMetadata()
at Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.get_Order()
at Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.<>c.<get_Properties>b__78_0(ModelMetadata p)
at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count)
at System.Linq.EnumerableSorter`1.ComputeMap(TElement[] elements, Int32 count)
at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count)
at System.Linq.OrderedEnumerable`1.ToList()
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Microsoft.AspNetCore.Mvc.ModelBinding.ModelPropertyCollection..ctor(IEnumerable`1 properties)
at Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.get_Properties()
at Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadataProviderExtensions.GetMetadataForProperty(IModelMetadataProvider provider, Type containerType, String propertyName)
at Microsoft.AspNetCore.Mvc.ApplicationModels.DefaultApplicationModelProvider.CreatePropertyModel(PropertyInfo propertyInfo)
at Microsoft.AspNetCore.Mvc.ApplicationModels.DefaultApplicationModelProvider.OnProvidersExecuting(ApplicationModelProviderContext context)
at Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelFactory.CreateApplicationModel(IEnumerable`1 controllerTypes)
at Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerActionDescriptorProvider.GetDescriptors()
at Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerActionDescriptorProvider.OnProvidersExecuting(ActionDescriptorProviderContext context)
at Microsoft.AspNetCore.Mvc.Infrastructure.DefaultActionDescriptorCollectionProvider.UpdateCollection()
at Microsoft.AspNetCore.Mvc.Infrastructure.DefaultActionDescriptorCollectionProvider.Initialize()
at Microsoft.AspNetCore.Mvc.Infrastructure.DefaultActionDescriptorCollectionProvider.get_ActionDescriptors()
at Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescriptionGroupCollectionProvider.get_ApiDescriptionGroups()
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwagger(String documentName, String host, String basePath)
at Swashbuckle.AspNetCore.Cli.Program.<>c.<Main>b__0_3(IDictionary`2 namedArgs) in C:\projects\ahoy\src\Swashbuckle.AspNetCore.Cli\Program.cs:line 72
at Swashbuckle.AspNetCore.Cli.CommandRunner.Run(IEnumerable`1 args) in C:\projects\ahoy\src\Swashbuckle.AspNetCore.Cli\CommandRunner.cs:line 68
at Swashbuckle.AspNetCore.Cli.CommandRunner.Run(IEnumerable`1 args) in C:\projects\ahoy\src\Swashbuckle.AspNetCore.Cli\CommandRunner.cs:line 68
at Swashbuckle.AspNetCore.Cli.Program.Main(String[] args) in C:\projects\ahoy\src\Swashbuckle.AspNetCore.Cli\Program.cs:line 111
我还尝试根据 Swashbuckle 文档创建一个公共(public)类,因为我们使用的是 Autofac:
public class SwaggerHostFactory
{
public static IHost CreateHost()
{
return Program.CreateHostBuilder(new string[0]).Build(); //Calls the same builder that's used to run the app
}
}
目的是允许在我们的管道中运行它以自动生成 ApiClient 库。
对于如何解决这个问题,我有点不知所措。 swagger.json 是在运行时生成的吗?
感谢任何帮助!
最佳答案
避免这种情况的一种方法是确保您的程序在没有这些应用程序设置的情况下继续运行
var connectionString = config["MyConnectionString"];
if (connectionString != null)
{
services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(connectionString));
}
关于ABP/Swashbuckle - 使用 Swashbuckle CLI 生成 swagger 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65623958/
我刚刚开始探索 Abp 功能,我从他们的网站创建了一个示例项目并能够成功构建该项目。但是当我运行 dbmigrator 项目时出现异常,下面是错误的截图, 我按照这篇文章运行了应用 https://d
我正在尝试使用 abp.framework(版本 3)为 Entity Framework 数据库播种和 AppUser。我知道如何使用 IdentityUserManager 为 IdentityU
我使用具有商业许可的 abp 套件生成了一个 MVC 项目。它有默认的 Lepton 主题,但我想切换到基本主题,因为它更容易定制。 最佳答案 安装 Volo.Abp.AspNetCore.Mvc.U
我使用具有商业许可的 abp 套件生成了一个 MVC 项目。它有默认的 Lepton 主题,但我想切换到基本主题,因为它更容易定制。 最佳答案 安装 Volo.Abp.AspNetCore.Mvc.U
在我的公司,我们使用全新的 Abp 框架 (abp.io)。由于它是一个新框架,因此缺少很多文档,因此我们必须搜索源代码。看了这么多代码,我意识到这是他们使用的模式,总是出现 Providers、Pr
前言 对于大多数.NET后端开发者而言,ABP框架已经相当熟悉,可以轻松进行二次开发,无需重复实现用户角色管理、权限控制、组织管理和多租户等功能。 然而,ABP框架主要专注于Web应用,对于桌面端
1. 事件总线 在我们的一个应用中,经常会出现一个逻辑执行之后要跟随执行另一个逻辑的情况,例如一个用户创建了后续还需要发送邮件进行通知,或者需要初始化相应的权限等。面对这样的情况,我们当然可以
ABP框架 ABP是用于创建现代化Web应用程序的完整体系结构和强大的基础架构,以模块化的方式进行开发,所有模块以nuget包的方式提供,开箱即用,遵循最佳实践和约定,提供 SOLID 开
Abp是一个基于模块化开发的应用程序框架,提供了模块化基础的架构和模块化加载的引擎。 理解模块 一个模块是对一个功能点的封装,可以独立成为一个包,实现了松耦合的代码组织方式。A
Abp.NHibernate动态库连接PostgreSQl数据库,供大家参考,具体内容如下 初次接触Abp框架,其框架中封装的操作各类数据的方法还是很好用的,本人还在进一步的学习当中,并将利用ab
前言 Volo.Abp.VirtualFileSystem 是ABP(ASP.NET Boilerplate)框架中的一个重要组件,它提供了一种抽象文件系统的方式,使得应用程序可以轻松地访问和管理文
在apb-vnext的实体的创建中可以确实字段的长度、说明、对应的表、表中给字段加的索引 以项目中的订单表为例,如下: [Comment("订单主表")] [Tabl
我不能完全理解在什么情况下我会使用 DomainService 和在这种情况下你的文件不详细在这个问题上足够了。你能给出更详细的解释吗举个例子? 如果我只使用 ApplicationService 而
1. 缓存模块源码解析 个人觉得 ABP 分布式缓存模块有三个值得关注的核心点。首先是 AbpRedisCache 类继承了微软原生的 RedisCache,并 通过反射的方式获取RedisC
依赖注入的使用 构造方法注入 这是将服务注入类的最常用方法,是将依赖项注入类的首选方式,也是微软推崇的模式。这样,除非提供了所有构造方法注入的依赖项,否则无法构造类,显示的声明了类必需的服
1. 与 .NET Core 缓存的关系和差异 ABP 框架中的缓存系统核心包是 Volo.Abp.Caching ,而对于分布式缓存的支持,abp 官方提供了基于 Redis 的方案,需要安装
依赖注入实现了系统之间、模块之间和对象之间依赖关系的解耦,基本上是现代应用程序框架必不可少的一个组成部分。 ABP的依赖注入系统是基于Microsoft的依赖注入扩展库(Microso
默认情况下,AbpUserRole 和AbpRole 实现ISoftDelete。是否可以禁用它? 我试着这样做: [AbpAuthorize(AppPermissions.Pages_Adminis
默认情况下,AbpUserRole 和AbpRole 实现ISoftDelete。是否可以禁用它? 我试着这样做: [AbpAuthorize(AppPermissions.Pages_Adminis
我在构建网站时了解到客户想要 2 个 300x250 的广告和 1 个 728x90 的广告。我已经使用以下 HTML 将这些添加到设计中: 这很好用。我添加
我是一名优秀的程序员,十分优秀!