在 4.6.2 Framework 中部署 .NET Standard 程序集 (Microsoft.AspNetCore.SignalR.Client)

Posted

技术标签:

【中文标题】在 4.6.2 Framework 中部署 .NET Standard 程序集 (Microsoft.AspNetCore.SignalR.Client)【英文标题】:Deployment of .NET Standard assembly (Microsoft.AspNetCore.SignalR.Client) in 4.6.2 Framework 【发布时间】:2020-08-13 21:50:53 【问题描述】:

似乎没有任何关于在将 .net 标准 2.0 包使用到 4.6.2 框架构建时需要部署什么的具体指导。

我们有一个大型 4.6.2 项目,其中有一个通过 nuget 包使用 Microsoft.AspNetCore.SignalR.Client 的程序集。这最终引入了 netstandard 2.0,它在我们的输出文件夹(100 多个程序集)中有大量程序集,但是写入配置文件的自动绑定重定向只列出了其中的 64 个。

我的问题是我是否只需要部署 .config 文件中列出的带有 bindingRedirect 标记的那些,还是只部署所有额外的“shim”程序集?

【问题讨论】:

【参考方案1】:

我的解决方案是使用 4.6.2 框架使用 SignalR 构建我的项目,您必须使用 SignalR nuget 包的包参考,并且必须使用项目设置 |自动生成绑定重定向。 您的输出目录将包含运行应用程序所需的绑定重定向。 *.exe.config 将为您写出重定向(这很好),但您会发现几乎整个框架都被重定向,感觉更像是使用绑定重定向的就地升级。 该代码正在生产中并且运行良好。

【讨论】:

以上是关于在 4.6.2 Framework 中部署 .NET Standard 程序集 (Microsoft.AspNetCore.SignalR.Client)的主要内容,如果未能解决你的问题,请参考以下文章

为啥最新版的VS2017没有net framework 4.6.2,且我无法安装

.NET Framework 4.6.2 无法命中 POST 端点

.Net Framework 4.6.1 不默认为 TLS 1.2

.net framework(4.6.2) 迁移 .net core(2.2) 总结

ASP.NET Framework 4.6.2 SignalR 和 Redis 背板未连接

在我的类库项目中看不到框架4.6.2作为选项