【问题标题】:Adding reference to a class library at runtime in asp.net core在运行时在 asp.net core 中添加对类库的引用
【发布时间】:2021-03-14 21:23:37
【问题描述】:

我创建了一个带有一个类库的 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-core plugins microservices asp.net-mvc-viewmodel


    【解决方案1】:

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

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

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

    【讨论】:

    猜你喜欢
    • 2016-09-15
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 2017-09-14
    • 1970-01-01
    • 2016-10-15
    • 2019-11-16
    相关资源
    最近更新 更多