我正在构建一个ExcelDNA插件,需要完整版的.Net(4.0或3.5)(我正在使用System.Web的某些部分) . 因此,仅具有客户端版本的用户会收到错误 .
如果只安装了客户端版本,我想在启动时提示用户“获取最新版本”弹出窗口 .
是否有任何万无一失的方法来检查是否安装了完整版本?通过谷歌搜索似乎很多建议检查注册表,这似乎容易出错,因为有许多.Net版本 . 在这种情况下,我需要检查哪些路径来构建:
bool IsFullDotNetVersion()
{
}
是否有可能/好主意检查是否存在仅在完整版中可用的功能?即是否可以检查System.Web是否存在于环境中? (不包括在.Net的客户端版本中吗?)
作为一个附带问题:如何使用我系统上安装的不同.net版本轻松测试我的应用程序 . 有没有.Net切换器?
3 回答
查看GAC以查看是否存在
System.Web
(或您需要的任何程序集) .这是一些代码works on my machine .
可能重复 . How to detect what .NET Framework versions and service packs are installed?简短的回答是你需要阅读注册表
我建议您可以将完整的.net安装程序捆绑到安装程序中,而不是尝试检测客户端计算机具有哪个.net版本 .
换句话说,在安装点检测它并采取适当的操作 . 这是处理可能缺少的框架部分的常用方法 .