我们有一个针对.NET 3.5的.NET应用程序.我们的客户从共享驱动器(很少)运行它,以便拥有一个中央配置文件位置.
我们注意到,如果工作站访问共享驱动器并运行程序,但没有安装.NET 3.5,则没有任何反应,没有错误,没有异常,没有日志条目,它只是不启动.
为什么CLR在Windows中没有显示错误消息?
我可以在代码的开头放一些东西来确保显示正确的错误消息吗?
运行可检查先决条件的安装程序不是一个选项,因为我们只将其安装在一个中心位置.
谢谢.
理想情况下,我们不必有一个包装器来查询.NET版本,似乎该程序无法启动,并且Windows应该在某处报告.我无法相信它会默默地失败.
小智 10
尝试这样的app.config;
<configuration>
<startup>
<supportedRuntime version="v3.5" />
</startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我得到一个很好的小对话,就像这样;
--------------------------- moreverfoo.exe - .NET Framework Initialization Error --------------------------- To run this application, you first must install one of the following versions of the .NET Framework: v3.5 Contact your application publisher for instructions about obtaining the appropriate version of the .NET Framework. --------------------------- OK ---------------------------