什么是“私人.NET框架”?

一个stream行的财务软件供应商分发一个“私人的”.NET框架 :

私人彭博.NET框架

什么是一个私人的.NET框架?

为什么有人希望拥有自己的.NET框架的私有版本?

从基本的angular度来讲,如何创build一个私有的.NET框架呢?

我不以任何方式隶属于这个供应商,因此我显然不能为他们说明他们的意思。 随着那个…


他们的FAQ说明如下:

什么是彭博专用.NET框架软件?

只有在工作站没有安装相应的本机Microsoft .NET Framework软件时才安装这些软件组件。 如果两个本机Microsoft版本(3.5 SP1和4)都不存在,则在初始安装期间将只安装专用v3.5 SP1组件。 专用v4版本的安装文件(bnetupd.exe)将被复制到\ blp \ wintrv目录以供日后安装。

这听起来像是他们正在分发他们自己的.NET Framework版本,如果工作站没有安装官方的.NET Framework,就会使用该版本。 这背后的基本原理可能很简单,以避免对用户的工作站作出重大改变:

  • 如果已安装.NET Framework,则应用程序可以使用它,因为不需要更改工作站。
  • 如果您没有安装.NET Framework,那么供应商不会假定您需要安装它,相反,他们将自己的版本捆绑在一起,而这些版本只能用于他们的应用程序,而不能与您可能拥有的其他软件共享。

关于你怎么做这样的问题,答案是,首先你需要有一些许可证,让你这样做。 一般来说,您可以使用“默认”许可证获得一个软件,或者您可以与供应商协商更方便的许可证。 无论如何,您需要确保拥有的许可证允许这种使用和再分配。

从那里开始,可能有多种方法可以解决这个问题(包括接收源代码并进行自定义构build,使用自定义链接器或绑定工具 ,或者在启动时使用某种欺骗手段)。

观察此供应商的安装程序在虚拟机内的行为,我所看到的是,框架程序集确实作为原生映像部署在自定义目录中,似乎模仿典型.NET安装目录的结构。 该自定义目录的名称是%WINDIR% ,对于我来说似乎build议使用环境variables进行某种redirect(因为如果您未设置环境variables,则会“扩展”为其名称)。

在任何情况下,部署的框架只能由供应商的软件使用,似乎不会影响其他.NET应用程序,他们完全忽略它。 所以这个短语私有.NET框架是相当准确的。

微软决定不发布 Windows 8,Windows 10,Windows 2012服务器和在线安装程序的可重新分发的.NET Framework 3.5通常不起作用 。 所以其他供应商需要创build他们自己的离线安装程序。 这不是我遇到的第一个自制框架。 即使这不合法 ,开发人员也会被推到Windows 8,Windows 10和Windows 2012服务器上支持.NET 3.5应用程序。

我不认为他们说这与.NET Framework有关,只是它是运行在.NET上的彭博特定代码,他们称之为框架。 私有很可能是指这样一个事实,即他们需要通过一些自定义凭据来自定义访问其服务器。