首页 > 解决方案 > 在运行时在 asp.net core 中添加对类库的引用

问题描述

我创建了一个带有一个类库的 asp.net core 5 空 Web 应用程序,该类库是一个用于视图模型组合的简单控制器。课程如下:

 public class MarketingProductInfo : ICompositionRequestsHandler
    {
        [HttpGet("/product/{id}")]
        public Task Handle(HttpRequest request)
        {
            var vm = request.GetComposedResponseModel();

            //retrieve product details from the marketing database or service
            vm.ProductName = "Name";
            vm.ProductDescription = "This is a sample product";

            return Task.CompletedTask;
        }
    }

实际上,这个库将是一个为特定路由返回数据的微服务。现在,当我在编译时添加对类库的引用时,一切正常,通过使用邮递员,我可以从 Web 应用程序获得响应。问题是我希望这种引用在运行时发生。因此,例如,我将类库的 dll 文件复制到一个文件夹中,然后 Web 应用程序在运行时加载它们以实现模块化。我在互联网上搜索了很多关于插件等的信息,但我发现的一切都是加载一个 dll 并执行一个特定的方法或实例化一个类......我的问题是我如何在运行时加载这个 dll 而无需做任何其他事情? 提前致谢!

标签: asp.net-core.net-corepluginsmicroservicesasp.net-mvc-viewmodel

解决方案


为什么要在运行时添加引用,出于任何特定原因?如果您不想直接引用该库以实现模块化,那么您可以利用 Nuget。

  1. 将类库作为 NuGet 包推送。
  2. 将该 NuGet 包添加到您的 Web 应用项目。

这样你就不会直接依赖你的类库,你可以分别管理它们!


推荐阅读