【发布时间】:2010-06-04 16:15:17
【问题描述】:
我的客户端应用程序是使用 .NET 3.5 构建的,事实上,我想要求用户安装它。在我启动应用程序之前,我想确保框架存在于盒子上。
我尝试使用
<requiredRuntime version="v3.5..."/>
但似乎底层代码无法真正区分 .net 2 和 .net 3.5(我知道,这是一回事)。
那么我如何检查 .NET 3.5 框架的存在,最好以声明的方式?
【问题讨论】:
标签: .net-3.5
我的客户端应用程序是使用 .NET 3.5 构建的,事实上,我想要求用户安装它。在我启动应用程序之前,我想确保框架存在于盒子上。
我尝试使用
<requiredRuntime version="v3.5..."/>
但似乎底层代码无法真正区分 .net 2 和 .net 3.5(我知道,这是一回事)。
那么我如何检查 .NET 3.5 框架的存在,最好以声明的方式?
【问题讨论】:
标签: .net-3.5
如果您通过设置和部署项目生成的 MSI 部署应用程序,则可以强制使用 .NET Framework Launch Condition。如果它是可执行文件的简单副本,您可能会使用反射探测 System.Core 程序集的存在,因为该程序集特定于 .NET 3.5,但如果用户没有安装 CLR 2.0,这将失败。
【讨论】: