首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >微软在启动应用程序时是否包含自动.NET版本检查功能?

微软在启动应用程序时是否包含自动.NET版本检查功能?
EN

Stack Overflow用户
提问于 2013-06-21 04:53:42
回答 3查看 63关注 0票数 0

我最近在启动我创建的应用程序时包含了对正确.NET版本的检查。非常简单:

代码语言:javascript
复制
if (Environment.Version.Major < 4)
{
    //Alert user, exit program
}

然而,我注意到,当我在没有必要的.NET版本的电脑上运行我编写的另一个.NET应用程序(没有检查)时,出现了一个警告,告诉我无法运行该应用程序。用VS2012编写的应用程序会自动包含这样的检查吗?还是应该由我来编写?

EN

回答 3

Stack Overflow用户

发布于 2013-06-21 04:57:40

仅当您的应用程序所针对的版本已安装时,.NET才会运行。例如,如果您编写了应用程序并以.NET 4.0为目标,而机器没有安装4.0,则应用程序根本不会启动,因此使用Environment.Version进行检查是非常多余的。

为了能够在不依赖.NET的情况下真正确定是否安装了.NET以及安装了哪个版本的.NET (鸡和蛋的问题),您需要用不同的语言编写检测应用程序/位。有关在注册表中查找什么的信息,请参阅此article (验证安装的.NET版本的少数方法之一),密钥应位于**HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP**中

票数 1
EN

Stack Overflow用户

发布于 2013-06-21 05:00:40

您的检查不会起作用,因为程序根本不会启动,但在您的app.config中尝试此操作

代码语言:javascript
复制
<configuration>
    <startup>
        <supportedRuntime version="v4.0" />
    </startup>
</configuration>

然后,将显示一个很好的弹出窗口,向用户显示该问题。

票数 0
EN

Stack Overflow用户

发布于 2013-06-21 05:11:30

这行不通的。如果您没有正确的.NET installer版本,用户将只看到“应用程序已停止工作”的消息。

您可能想要做的是.NET应用引导程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17223574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档