我只在 Windows 7 上遇到 NullReference 异常有什么原因吗?

发布于 2024-09-08 15:04:53 字数 332 浏览 1 评论 0原文

我的 C#、.NET 4 应用程序在 XP 上运行良好(确切地说是媒体中心 - 不要问)。

在 Windows 7 上,它安装得很好,但很快就卡住了。它抱怨后台工作人员的回调中出现 NullReferenceException。 (我很乐意为您提供更多信息,但由于无法在目标计算机上安装 VS,所以我只能得到这些信息。)

那么,关于部署到 Windows 7,我应该了解什么?

编辑:根据要求,这里是对正在发生的事情的更好描述...当我的应用程序的主窗体初始化时,它使用后台工作程序来创建日志记录类的实例。创建日志记录类后,工作线程的回调将使用日志实例来添加新条目。

My C#, .NET 4, app runs fine on XP (media centre to be exact - don't ask).

On Windows 7, it installs fine, but immediately borks. It complains about a NullReferenceException in the callback of a background worker. (I'd love to give you more information, but short of installing VS on the target machine, this is all I can get.)

So, anything I should know about deploying to Windows 7?

Edit: As requested, here's a better description of what's going on... When the main form of my app initialises, it uses a background worker to create an instance of a logging class. When the logging class is created, the worker's callback uses the log instance to add a new entry.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

叹沉浮 2024-09-15 15:04:53

就像我评论的那样,这很可能是特权的情况(并且它也会在 Vista 上崩溃)。

可以写入事件日志,但受限(普通)用户无法创建事件日志。

您可以通过使用其他工具预先创建事件日志来解决此问题。但某些(具有 XP 意识的)软件认为始终创建日志是个好主意。错误的。

标准解决方案是从 setup.exe 创建源

Like I commented, this is most likely a case of privileges (and it will break on Vista too).

It should be OK to write to an eventlog, but a restricted (normal) user cannot create an EventLog.

You may be able to workaround by pre-creating the EventLog with another Tool. But some (XP-minded) software thinks it's a good idea to always create the Log. Wrong.

Standard solution is to create the source from your setup.exe

梦里寻她 2024-09-15 15:04:53

您正在尝试访问无法创建的资源。您是否有堆栈跟踪或对该应用程序实际功能的更好描述?

You are trying to access a resource that can't be created. Do you happen to have a stacktrace or a better description of what this app actually does?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文