哪种方法可以很容易地判断生产Windows Server上安装了.NET的哪个版本?
这个问题与其说与编程有关,不如说与部署有关。 我发现自己与公司中的小组进行了很多交谈,该小组的工作是维护我们的生产Windows服务器并在这些服务器上部署我们的代码。出于法律和合规性原因,我没有直接的可见性或对服务器的任何控制权,因此,我可以通过给该小组的指示来判断在其中任何一个服务器上安装了.NET的版本。 到目前为止,我能想到的所有方法都可以告诉您安装了哪个版本(检查与1.1或2.0匹配的管理工具,检查“添加/删除程序”列表中的条目,检查是否存在c:\ Windows \ Microsoft.NET下的目录存在缺陷(我在管理工具下看到至少一台具有2.0的机器,但没有2.0条目),并且该方法对3.0+(“添加/删除程序”列表)一无所知可能与现实不同步,并且目录的存在并不一定意味着任何东西)。 鉴于我通常需要提前知道这些事情(发现“哎呀,这个工具并没有您需要的所有版本和服务包”,因此在较短的维护时段内并不能很好地工作),我必须因为无法直接在服务器上进行检查,所以“通过代理”进行检查是什么安全的方法来判断生产Windows Server上安装了.NET的哪个版本?最好使用框架安装的某种内在方式,因为这样安装起来会更快,不需要加载某种实用程序,而且如果框架未正确安装但仍然有文件,则该方法肯定会失败(即,其中有一个目录,并在其中插入了gacutil.exe,但该框架的版本并未真正“安装”) 编辑:在没有一个很好的万无一失的内在方式来做到这一点内置在Framework(s)中,有人知道一个好的,轻量级,无需安装的程序可以找到这一点吗?我可以想象有人可以轻松编写一个,但是如果已经存在,那会更好。