未发布 .NET Core、Xamarin、.NET Standard和.NET Framework四者之间的区别 前段时日微软(Microsoft)正式发布了.NET Core 2.0,在很多开发社区中反响不错。但还是有一些开发者发出了疑问,.NET Core、Xamarin、.NET Standard和.NET Framework之间有哪些不同呢?本文就为大家简单描述一下这四者之间的区别。
.NET Core
.NET Core是免费、跨平台的,是托管框架的开源实现。它支持4种类型的应用程序:控制台、ASP.NET Core、云和通用Windows平台(UWP)。Windows Forms和Windows Presentation Foundation(WPF)并不包含在.NET Core中。
从技术上讲,.NET Core仅支持控制台应用程序。ASP.NET Core和UWP是以.NET Core为基础构建的应用程序模型。
与.NET Framework不同,.NET Core没有作为Windows组件考虑。因此,更新是以NutGet包的形式,而不是通过Windows Update。由于.NET Core运行时安装成了App-Local,而应用程序升级是通过包管理器完成的,所以应用程序可以关联特定的.NET Core版本以及单独升级。
.NET Standard
托管框架的每一种实现都有一套自己的基类库。基类库(BCL)包含诸如异常处理、字符串、XML、I/O、网络和集合这样的类。
.NET Standard是一项实现BCL的规范。由于.NET实现需要遵循这项规范,所以应用程序开发人员就不用担心每一种托管框架实现的BCL不同。
框架类库(FCL),如WPF、WCF、ASP.NET,不包含在BCL中,因此,也就不包含在.NET Standard中。
.NET Standard与.NET实现之间的关系就和HTML规范与浏览器之间的关系一样。后者是前者的实现。
因此,.NET Framework、Xamarin和.NET Core,每一种托管框架都实现了.NET Standard中的BCL。随着计算机工业不断推出新的硬件和操作系统,将来还会出现新的.NET托管框架。该标准让应用程序开发人员知道,他们可以依赖于一套始终如一的API。
每个.NET版本都对应一个.NET Standard版本。
API一致,将应用程序移植到不同的托管实现以及提供工具都会更简单。
.NET Standard被定义为一个单独的NuGet包,因为所有的.NET实现都必须支持它。工具变得简单了,因为对于特定的版本,它们有一套相同的API。你还可以针对多个.NET实现构建一个库项目。
你还可以构建特定平台API的.NET Standard封装器。
.NET Standard vs 可移植类库
可移植类库做的不是同一件事吗?
可移植类使用多个平台均都支持的通用API。因此,支持的平台越多,可用的API就越少,而且,对于特定的平台组合,很难知道到底支持哪些API。对于一个新平台,已有的PCL必须重新编译。PCL还需要微软针对每个平台创建一个新的框架实现分支。
由于.NET Standard确定了API,而不是一个实现,所以不需要重新编译应用程序。任何新发布的.NET实现都实现了必须的库。应用程序不需要重新编译就可以运行在新的硬件平台或操作系统上。从理论上讲,在调用API时可能会捕获到NotSupportedException异常,但那种情况应该很少见。
小结
- .NET Standard是一项API规范,每一个特定的版本,都定义了必须实现的基类库。
- .NET Core是一个托管框架,针对构建控制台、云、ASP.NET Core和UWP应用程序进行了优化。每一种托管实现(如Xamarin、.NET Core或.NET Framework)都必须遵循.NET Standard实现BCL。
- .NET Framework用于构建桌面应用程序和运行在互联网信息服务器(IIS)上的ASP.NET应用程序。它是第一个托管框架。
- Xamarin则是一个用于构建iOS、Android、macOS和桌面应用程序的框架。
【慧都十四周年庆预热开启!全场满额送七级豪礼,AppleMac笔记本电脑、iwatch、iPad等您来拿!】
活动时间:10月1日-10月31日

未发布 ByteScout旗下产品更新合集丨附下载 Bytescout公司主要为家庭和商业用户提供软件产品及为软件开发商(AactiveX和.NET SDK)提供开发工具。产品主要包含条形码、文档管理、音频视频以及文件格式转换等类型。
BarCode Reader SDK
一款支持多种图像格式、线型条码和二维条码的条码读取器开发包。
Bytescout PDF To HTML SDK
Spreadsheet SDK
未发布 【百厂约惠】Dynamsoft全线产品低至6.7折!错过等一年
Dynamsoft现已加入慧都史上最大力度的“百厂约惠”折扣专区,全线产品低至6.7折!全年仅此一次,你还在等什么!
活动时间:2017.12.5-2017.12.31
应用于Web应用程序的TWAIN扫描识别工具 支持所有主流浏览器。 |
更快速、更安全的远程获取 和跨平台VSS插件 兼容所有的网络技术,平台和设备 | 为桌面应用程序设计的.NET控件 适用于C#和VB.NET 能让你从任何TWAIN设备中获取图像的托管代码SDK |
一款多功能的条码读取控件 只需要几行代码就可以将条码读取功能 嵌入到Web或桌面应用程序 | 快速、轻松地为您的web应用程序 启用图像和视频捕捉 |
一个用以替代VSS的独立版本控制软件 | 一款基于SQL Server的本地/网络版本控制软件 |

未发布 VectorDraw Developer Framework v7.7012.0.4发布丨附下载
VectorDraw Developer Framework(VDF)v7.7012.0.2更新内容:
WebJS
新增需求(7.7012.0.3)
漏洞(7.7012.0.2)
漏洞(7.7012.0.3)
Engine
漏洞(7.7012.0.2)
70001114 手柄选择未正确更新,并且屏幕上仍然显示
70001116 UpdatePropertiesFromPrinter丢失纸张信息
70001117 GetLineTypeDlg的Wrapper不会返回正确的行类型
漏洞(7.7012.0.3)
未发布 界面控件Essential Studio for ASP.NET Web Forms 发布2017 v4丨附下载 新的控件
组合框组件允许用户输入一个值或从预定义选项列表中选择一个选项。单击此组件的箭头图标时,下拉列表将显示用户可以从中选择的值列表。
主要特征
数据绑定:允许绑定和访问本地或服务器端数据源的项目列表。
分组:支持将单个或特定类别下的逻辑相关项目进行分组。
排序:支持按字母顺序(升序或降序)排序列表项。
过滤:允许根据组件中输入的字符过滤列表项目。
模板:允许自定义列表项目、选定的值、页眉、页脚、类别组页眉。
可访问性:内置的可访问性支持有助于通过键盘、屏幕阅读器或其他辅助技术设备访问所有组件的功能。
拼写检查器
新的控件
新的拼写检查器控件通过将它们与存储的字典单词列表进行比较,查找并突出显示拼写错误的单词。
主要特征
AUTOCOMPLETE
搜索索引多栏弹出
现在可以区分多列AUTOCOMPLETE控件中的显示格式和搜索字段,允许用户在列表中搜索任意数量的字段,而无需修改所选的文本格式。
CHART
轴标签
支持显示多行轴标签。
显示外部数据标签
现在可以在图表区域内显示部分可见的数据标签。
数据管理器
防伪
防伪令牌可用于帮助保护应用程序免受跨站请求伪造。它生成一个隐藏的表单字段(防伪造标记),在提交表单时进行验证。
额外的数据操作
提供了IN和NotIN过滤器操作用于在WHERE过滤器中指定多个值。
DIAGRAM
对齐
支持定制用户手柄的位置。
端口增强
现在可以拖动端口来重新定位端口。
对称布局
对称布局是用于以圆形和对称方式排列图的自动布局。
标签交互
已经为标签提供了交互支持。他们可以被选中、拖动、调整大小和旋转。
DOCIO
增强Word转换成PDF功能
DocIO现在允许将带有行号的Word文档以其原始格式转换为PDF。
下拉列表
服务器过滤
在搜索框中输入文本时,此功能将过滤数据源。过滤是基于包含来自整个数据源的匹配项。
服务器过滤:远程数据
服务器过滤:本地数据
文件管理器
支持鼠标选择
支持在文件资源管理器控件中使用鼠标管理文件/文件夹。
甘特图
资源分配视图
甘特图控件支持资源分配视图。使用该视图,用户可以解释在同一日期发生的任务以及项目中资源的过度分配。
排序
现在可以根据行顺序显示具有序列号的任务。
多行选择
现在可以选择多行并执行缩进和负缩进操作。
列过滤
现在可以过滤甘特图控件中的特定字段或列。
展开/折叠记录
甘特图控制现在支持扩展和折叠特定级别的记录。
表格
在Excel过滤器菜单中添加当前选项进行过滤
在搜索时显示添加当前选择到过滤器复选框,允许用户在表格中添加当前选中或清除的复选框列表数据以及已经过滤的数据。
导出模板列
使用Excel、PDF和Word文件格式导出包含模板列的表格。
导出详细信息模板
导出使用Excel、PDF和Word文件格式的详细信息模板。
KANBAN
外部拖放
KANBAN控件现在支持与其他控件之间的拖放操作。
没有数据源的KANBAN列
KANBAN列可以在不绑定数据源的情况下显示。
PIVOT客户端
支持Mondrian服务器(客户端模式)
分页将大记录拆分为不同的段,便于查看数据。它还改善了连接到Mondrian服务器的PIVOT控件的性能。
PIVOT网格
支持Mondrian服务器(客户端模式)
分页将大记录拆分为不同的段,便于查看数据。它还改善了连接到Mondrian服务器的PIVOT控件的性能。
RIBBON
设计器
改进了ASP.NET Web Forms中功能区组件的设计器。
滑块
添加按钮
添加了一个可以隐藏的按钮,允许增加和减少滑块的值。
ESSENTIAL XLSIO
图表转换为图像
图表元素(如图例,标题,绘图区和显示单元)的手动布局位置现在可以正确转换为图像。
未发布 MailBee.NET Objects发送电子邮件(SMTP)教程三:没有SMTP服务器的情况下发送消息 发送消息的最简单的方法是使用Smtp类的QuickSend方法(此方法是静态的,不需要你创建Smtp类的实例)。
即使没有SMTP服务器,QuickSend方法也可以发送电子邮件。该方法通过向网络设置中注册的DNS服务器进行查询,确定哪些服务器接收电子邮件的To / CC / BCC字段中指定的域的邮件,然后将电子邮件直接发送到收件人的邮件服务器。
C#: MailBee.SmtpMail.Smtp.QuickSend("jdoe@domain.com", "bill@domain.com", "Subject", "Message Body"); |
VB.NET: MailBee.SmtpMail.Smtp.QuickSend("jdoe@domain.com", "bill@domain.com", "Subject", "Message Body") |
如果要手动指定DNX MX查找DNS服务器,可以编辑应用程序的app.config或web.config文件,并将MailBee.DnsMX.DnsServerCollection键放该位置。有关详细信息,请参阅DnsAutodetectOptions文档。
备用(和更高级)的方法是创建Smtp对象并手动指定DNS服务器的IP地址:
C#: mailer.DnsServers.Add("127.0.0.1"); |
VB.NET: mailer.DnsServers.Add("127.0.0.1") |
要通过检查系统属性自动填充Dns服务器,请使用Autodetect方法(顺便说一下,QuickSend方法可以使用Autodetect来确定可用的DNS服务器列表):
C#: mailer.DnsServers.Autodetect(); |
VB.NET: mailer.DnsServers.Autodetect() |
此外,你可以指定用于调整在系统中注册的DNS服务器的自动检测选项。有关详细信息,请参阅DnsAutodetectOptions文档。
注意:由于发送垃圾邮件的人经常使用直接发送操作,因此许多邮件服务不接受来自未知主机的邮件提交。建议仅从指定的MX、PTR和SPF记录的域执行直接发送操作。在这种情况下,接收邮件的主机将能够验证发件人的域名并接受邮件提交请求。
未发布 串行端口监视器Serial Port Monitor v7.0.312发布丨附下载 串行端口监视器Serial Port Monitor是专业、强大的系统实用程序,用于监测RS232/422/485 COM端口。它不但可以监测、显示、记录和分析系统中串行端口的所有活动,还可以跟踪应用程序或驱动程序开发、测试等过程中可能出现的问题,因此,它是优化串行设备最理想的一套程序。
Serial Port Monitor v7.0.312更新内容
新增:
Modbus协议(RTU和ASCII)解码。
Modbus协议的新视图。
用于Modbus协议的独立过滤器。
监控会话比较。
支持Windows Server 2016。
将会话再现到串行端口的功能。
64位GUI版本(当进程占用太多的RAM时,监控将不会中断)。
视图之间的选择同步。
表格视图的“注释”列。
在工具栏中打开和关闭过滤器的功能。
当监控不活动时,能够创建用于数据重定向的新文件。
在表格视图中的第一个和最后一个突出显示的IRP之间的状态栏中显示总读/写数据统计信息。
在转储视图中显示串行端口设置更改。
在“转储”视图中选择显示哪些数据的选项:二进制、ASCII、端口设置。
会话文件打开时,在状态栏中显示监控会话统计信息。
能够将过滤器应用于特定的串行端口。
在表格视图中显示应用程序尝试写入端口的Write事件的数据,除了已写入的数据。
能够禁用终端视图的自动滚动。
命令行选项允许将数据附加到文件而不是覆盖它。
保存监视会话时的进度条。
改进:
表格视图中的IRP现在显示“Line”视图中的转录提示。
重新设计“新会话”窗口(所有可用的端口立即显示)。
主窗口标题现在显示正在监视的串行端口。
双击即可打开监控会话文件。
可以通过将监控会话文件拖放到串行端口监视器窗口中来打开监视会话文件。
“新建会话”窗口中的串行端口现在按端口号而不是名称排序。
当监视会话文件被打开时,监控不会自动启动。
“数据表示”选项将不允许现在每行设置超过100个字符,以提高性能。
修复:
启用“保持最后100个IRP”时,内存泄漏(现在此选项可防止长时间监控期间的高内存消耗)。
当硬件流量控制启用且连接另一端的串口未打开时,内置终端挂起。
0d 0a字符显示不正确。
当系统中出现新的串行端口时挂起。
终端视图菜单选项关闭时禁用。
监视进程启动时开始捕获选项。
解析IOCTL_SERIAL_GET_PROPERTIES和IOCTL_SERIAL_LSRMST_INSERT事件。
在打开大型监视会话文件时关闭串行端口监视器。
串行端口监视ActiveX安装与串行端口监视器不一致。
试用、下载、了解更多产品信息请点击"咨询在线客服"
未发布 ActiveX组件CADViewX v12发布,支持最新的AutoCAD®DWG 2018版本 CADViewX一款能让应用程序具有强大CAD图像浏览和打印功能的图像处理工具,无需任何CAD软件或查看器即可打开、浏览、打印AutoCAD等几十种格式的图像文件,还能享受直观的鼠标滚轮缩放、拖拽、平铺印画功能。
CADViewX v12更新内容
CADViewX v12是用于导入和导出CAD文件的新版本的ActiveX组件。
现在,CADViewX Lite支持最新的DWG版本 - AutoCAD®DWG 2018。借助CADViewX Lite开发的应用程序将能够查看最新的图纸。
要测试CADViewX Lite并将DWG 2018查看功能添加到应用程序中,请下载试用>>>
未发布 HttpWatch v10.x发布,支持在Firefox 35-35版中使用HTTP/2丨附下载 HttpWatch是一款集成的HTTP嗅探器,为IE和Firefox提供新的方法以查看您网站的负载和运行情况。你可以直接在浏览器中调试由web页面生成的网络流量,而无需切换到一个单独的工具。
【最新的HttpWatch点击免费下载>>>】
httpwatch v10.x新功能
密码在日志文件中被隐藏
从用户中收集的关于HTTP跟踪文件的常见问题是该文件可能包含了在登录期间输入的密码。默认情况下配置HttpWatch来隐藏提交的Web表单中的可疑密码字段:

用于识别敏感字符串的子字符串列表可以编辑,并掩盖POST消息中的其他敏感字段:

在Firefox35-40中支持HTTP/2
HttpWatch支持在Firefox 35-35版中使用HTTP/2