【发布时间】:2016-04-23 05:13:23
【问题描述】:
tl;dr - 它只是打开、显示/执行任何内容并关闭任何早于 Windows 10 的设备,因为它在 Windows 10 上运行良好。
自己测试一下:https://dl.dropboxusercontent.com/s/krxhh1515u7wmfn/PRAGMA.exe?dl=1
在 Windows 10 上工作:
不适用于 Windows 10 之前的版本:
(这表明我是否在 4.6.1 中创建了不是包含新方法/函数的表单的启动表单,然后使用 {MainForm}.Show() 调用包含新方法/函数的表单) (Windows 8.1 也是:http://i.imgur.com/FUZFvQf.png)
我有一个用 VB.NET 制作的程序,它使用 .NET Framework 4.6.1,因为我认为它的问题最少,但我错了,如果Windows 7/8/8.1 上的任何人都尝试运行我的应用程序,因为它仅在 .NET Framework 4.6.1 上使用某些功能,所以没有任何负载。
我可以确认这是因为使用 .NET Framework 4.6.1 就好像我在 .NET Framework 4.6.1 中加载了一个没有 .NET Framework 4.6.1 中的新功能的表单然后它加载正常,但是如果我加载具有 .ToUnixTimeInMilliseconds() 之类的函数的表单,它加载、显示和执行任何内容,然后关闭。我知道它至少会加载 something,因为当我打开它时,您可以看到窗口焦点消失让我们说 Windows Explorer 到刚刚打开的应用程序,但根本什么都没有执行或显示它最终关闭(我假设)因为我在任务管理器中找不到任何相关进程。
这应该不是问题,Windows 7/8/8.1 可以安装 .NET Framework 4.6.1,为什么它不能在 Windows 7/8/8.1 上加载?
有没有人意识到这个问题,因为我在谷歌上搜索了很长时间,但没有任何相关的东西出现。我错过了什么明显的东西吗?
【问题讨论】:
-
从您的消息中不清楚您的应用程序的用户是否确实安装了 .NET 4.6.1?是的,Windows 7 和 Windows 8 可以安装 .NET 4.6.1,但这并不意味着它已经自动安装。
-
@Dmitry 我在 TeamViewer 上有另一个用户,当我尝试运行 Web 安装程序时,我们都可以确认已安装 .NET Framework 4.6.1,它说“.NET Framework 4.6.1 或更新版本此系统上已安装版本。”我还有其他 2 个测试我的项目的用户告诉我,它也没有为他们加载,他们也安装了它。
-
您是否检查过 Windows 事件日志以查看那里为您的程序记录的内容?如果它崩溃了,那么一些调用堆栈信息可以在那里供您分析。如果收集得当,故障转储可以为您提供更多提示。
-
@LexLi 不,因为我没有听说过这样的事情,但是当我加载不同的启动表单并使用 .Show 调用主表单时,它会显示一个带有以下代码的错误框:pastebin.com/raw/9cc2ze5S 你可以在其中看到它调用 UpdateForm 并且打开正常,然后它执行 MainForm.Show() 调用,但最终在打开时由于该表单具有仅在 4.6.1 中出现的功能而导致错误
-
@ShinyMK 这个异常显示了错误类型转换的典型编码问题。我认为这无关紧要,但您可以修复它,然后重试。
标签: c# .net vb.net visual-studio visual-studio-2015