C# “a”是什么;私有.NET框架“;?

C# “a”是什么;私有.NET框架“;?,c#,.net,bloomberg,C#,.net,Bloomberg,流行的金融软件供应商: 什么是私有的.NET框架 为什么有人想拥有自己的.NET framework私有版本 基本上,如何创建一个私有的.NET框架?我不认为他们说这与的.NET框架有关,只是他们称之为框架的是运行在.NET上的特定于彭博社的代码。Private最有可能指的是,他们需要通过一些自定义凭据自定义访问其服务器。我与该供应商没有任何关联,因此我显然无法代表他们说出他们的意思。有了它的方式 缔约国声明如下: 什么是彭博私有.NET框架软件? 仅当工作站未安装相应的本机Microsof

流行的金融软件供应商:

什么是私有的.NET框架

为什么有人想拥有自己的.NET framework私有版本


基本上,如何创建一个私有的.NET框架?

我不认为他们说这与的.NET框架有关,只是他们称之为框架的是运行在.NET上的特定于彭博社的代码。Private最有可能指的是,他们需要通过一些自定义凭据自定义访问其服务器。

我与该供应商没有任何关联,因此我显然无法代表他们说出他们的意思。有了它的方式


缔约国声明如下:

什么是彭博私有.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,则供应商不会假定您希望安装它,因此他们会捆绑自己的版本,该版本仅用于其应用程序,而不会与您可能拥有的其他软件共享
关于你将如何做这样的事情的问题,答案是,首先你需要有某种许可证,允许你这样做。通常,您可以使用其“默认”许可证获得软件,也可以与其供应商协商更方便的许可证。在任何情况下,您都需要确保您拥有的许可证允许这种使用和重新分发

从那以后,可能有多种方法可以实现这一点(包括创建自定义构建,使用自定义链接器或--或在启动时使用某种技巧)

观察该供应商的安装程序在虚拟机中的行为,我看到的是,框架程序集确实部署在一个定制目录中,该目录似乎模仿了典型的.NET安装目录的结构。该自定义目录的名称是
%WINDIR%
,在我看来,这似乎建议使用环境变量进行某种重定向(因为,如果取消设置环境变量,它将“扩展”到其名称)


在任何情况下,部署的框架仅由供应商的软件使用,并且似乎不会影响其他.NET应用程序,他们只是忽略它。因此,private.NET Framework一词相当准确。

微软决定经常使用Windows 8、Windows 10、Windows 2012服务器和在线安装程序。因此,其他供应商需要创建自己的脱机安装程序。这不是我遇到的第一个自制框架。即使如此,开发人员也被迫在Windows 8、Windows 10和Windows 2012 server上支持.NET 3.5应用程序。

可以从GitHub获得框架代码,进行一些更改并声明它是私有的,但不确定这是否合法!或者,他们指的是他们的软件,而不是框架。从彭博社文档中可以看出:“彭博社向所有客户分发了一个虚拟版本的.NET框架,允许他们使用.NET框架,而无需将其安装在机器上。”不太确定这将如何工作,听起来像是市场营销对我说话。@DavidM根据Theodorus回答中的代码,如果没有MS.NET,则安装Bloomberg.NET framework。我不明白为什么不在安装中包括.NET FW Redist?显然是这样,但Bloomberg的市场营销讲话并不完全透明。这听起来很可怕。如果用户以后想安装MS.NET 4.0以支持其他软件,会发生什么情况?他/她是否安装了两个版本?还是Blomberg的被认为是“.NET”?微软的漏洞修复会应用于彭博社吗?MS和Bloomberg.NET之间到底有什么区别吗?@HagenvonEitzen我已经完成了上述工具的安装,以了解它们的实际功能。正如所料,此专用.NET framework未安装在Windows目录中,而是安装在另一个自定义目录中。它只涉及供应商的软件-其他基于.NET的二进制文件干脆忽略它。这让我们想到了斯波尔斯基2004年的“请先生,我可以有一个链接器吗?”,在这篇文章中,他注意到缺少一个包含所有所需库的可执行文件的选项,这与(当时)传统的Windows应用程序发行版不同: