在.NET 3.5 中引入的 Add-In 框架,其设计目的是为了给那些需要支持部分可信任插件的应用程序提供便利。它包括的特性如发现可兼容的插件,并将它们分别放到各自的应用程序域中,以及处理它们之间的通信并托管应用程序。它甚至支持在无需重启应用程序的情况下就能卸载代码。
遗憾的是,该框架过于复杂。为了构建一个最简单的应用程序,例如 CLR Inside Out 中的一个简单示例都需要使用总共 7 个程序集。其中大多数都属于样板式代码(Boiler-plate),用于定义能够让所有内容工作的各种契约、适配器以及视图。
如果我们用 Java 编写插件,就可以查找类似于 XML 描述器文件的工具来减轻这种负担。但是在真正的.NET 风格中,我们反而会借助于集成在 IDE 中的代码生成器。正是基于这种情形,我们在 Visual Studio 2008 中提供了 Pipeline Builder IDE 插件。
Pipeline Builder 现在仍然处于预览版状态,目前只支持 C#。值得庆幸的是,使用 Pipeline Builder 的项目不需要再添加任何额外的依赖,这使得它更适用于产品的开发。
源代码是使用 VS 2005 编写的,可以在 CodePlex 中获得。
查看英文原文: Introducing the Pipline Builder for the Add-In Framework
更多内容推荐
微软推出 Microsoft.Data.SqlClient,替代 System.Data.SqlClient
微软继续努力将微软产品从.NET Core中分离出来,并将SQL Server驱动程序分离到了一个单独的部署流中。
Wasmtime:终于可以在.NET 应用中运行 WebAssembly 了
WebAssembly运行时Wasmtime增加对.NET Core的支持,基于.NET Core的应用程序现在可以运行WebAssembly代码了。
6. Flink 中的 connector
2023-09-08
.NET6 新东西 -- 隐式命名空间引用
早在 .NET 6 Preview 7版本中微软就已经引入隐式命名空间引用。在.NET Preview 7这个版本中这个功能是默认开启的,如果需要禁用它的化就需要配置DisableImplicitNamespaceImports来禁用,但是到了.NET6 RC1版本的时候这个功能是禁用的,如果要使用就需要通过
2021-11-17
微软发布 ML.NET 1.0,可一键添加机器学习模型
今天,我们很高兴宣布发布ML.NET 1.0。ML.NET是一个免费的、跨平台的开源机器学习框架,旨在将机器学习(ML)的强大功能引入.NET应用程序。
中小型研发团队架构实践:小工具合集
本文介绍了一些项目中使用的工具,ORM 框架Dapper.NET 语法简单、运行速度快,与数据库无关,SQL 自主编写可控,是一款适合于互联网系统的数据库访问工具。对象映射工具 EmitMapper 性能较高,AutoMapper 易用性较好。
时隔两年的重大更新,微软发布.NET Framework 4.8
微软发布了.NET Framework 4.8,这是两年来.NET 框架的第一个重大更新。
.NET 平台负责人 Scott Hunter 专访:.NET Core 3 给 .NET Core 带来了很多新东西
Chris Woodruff与 .NET平台的项目负责人Scott Hunter一起讨论了开发人员对.NET Core 3的期望。
期中周|扩展现有协程框架,实现高级任务调度
我特意安排了这次期中周。从 2 月 13 日开始到 2 月 19 日结束,暂停更新内容,你可以利用这周挑战期中测试题,海口可以回顾之前所学,查漏补缺。
2023-02-13
.NET6 新东西 --CallerArgumentExpression
在.NET6中我们可以使用CallerArgumentExpression很方便的获取调用方的信息,它可以帮助开发人员简化很多代码,让代码更加简洁。下面我们就来讲解一下吧。其实在很早.NET就支持自动获取调用方的信息了,在.NET6以前我们如果要获取调用方的信息可以使用这三个C
2021-11-14
InfoQ 专访 :Pranav Rastogi 谈.NET 的开源机器学习框架 ML.NET
本月初,微软发布了ML.NET 1.0版本,支持使用C#或F#开发自定义的ML模型。
.NET 6 新东西 --PeriodicTimer
在.NET 6中引入了新Timer:System.Threading.PeriodicTimer,它和之前的Timer相比,最大的区别就是新的PeriodicTimer事件处理可以方便地使用异步,消除使用callback机制减少使用复杂度。讲解PeriodicTimer之前我们先来看以下该怎么使用它:
2021-12-05
Blazor 跻身跨平台移动应用开发
Mobile Bindings项目意在使用Microsoft Blazor和.NET for iOS/Android实现跨平台移动应用开发。
10 分钟带你彻底搞懂 Spring Cloud Config 配置信息自动更新原理
2022-03-29
15|容器化:如何选择最适合业务的基础镜像?
基础镜像的选择并没有一套固定规则,你需要从多方面,例如业务程序的依赖、可调试性、安全性、体积大小和社区维护等角度来考虑。
2023-01-11
微软发布.NET 5.0 RC1,未来将只有一个.NET
微软发布了.NET 5.0 RC1,这是.NET 5在11月正式发布之前的第一个“go-live”版本。
深入理解 Lambda 底层原理
讲师介绍: 风杞,近 10 年研发经验,曾在多个一线互联网大厂任后端资深研发工程师,CCF YOCSEF 委员。拥有高并发及海量数据处理经验,有极强的业务 sense 及数据洞察力。 问题背景: Lambda 是我们每天都在用的语法规则,既简单又便捷,还有一种美感。而 Lambda 原理属于面试题中 boss 级别的问题了。不仅需要我们对 JVM 有比较深入的理解,还需要分析汇编指令的流程才能理解 Lambda 底层原理。今天我将用最直白的语言为你讲解 Lambda 背后的原理。 内容看点: JVM 结构回顾 和 Lambda 息息相关的常量池类型 汇编调用的过程
2022-01-04
9、Spring-IOC 源码阅读 02
2023-09-28
Giraffe:在 Web 开发中使用 F#和 ASP.NET Core
Giraffe是一种用于构建Web应用的微型F# Web框架。它基于ASP.NET Core,为Web框架提供了F# API。Giraffe支持开发人员在使用F#构建Web应用的同时,还可以访问ASP.NET Core及其生态系统所提供的特性。
押注.NET 是件好事
尽管微软用它提供了这么多好东西,但它也有缺点。
暂无签名
推荐阅读
EPPlus - 用于 .NET 的 Excel 电子表格
2022-08-24
42.Dubbo Wrapper 机制
2023-09-29
.NET 常见的 4 种加密算法
2023-09-18
27.Sentinel 手动设置限流、降级案例搭建
2023-09-29
InfoQ 2022 年趋势报告:.NET 篇
2023 年北京.NET 线下技术沙龙圆满落幕!
2023-05-23
35|实现:基于 JDK 17、Spring Boot 3、Spring 6 打造云原生 Java 应用
2023-11-17
电子书
大厂实战PPT下载
换一换 王植萌 | 去哪儿网 基础架构技术高级总监
杨诗旻 | 火山引擎 LAS 数据湖团队负责人
姚旭晨 | Seasalt.ai CEO
推荐阅读
EPPlus - 用于 .NET 的 Excel 电子表格
2022-08-24
42.Dubbo Wrapper 机制
2023-09-29
.NET 常见的 4 种加密算法
2023-09-18
27.Sentinel 手动设置限流、降级案例搭建
2023-09-29
InfoQ 2022 年趋势报告:.NET 篇
2023 年北京.NET 线下技术沙龙圆满落幕!
2023-05-23
35|实现:基于 JDK 17、Spring Boot 3、Spring 6 打造云原生 Java 应用
2023-11-17
评论