你调用的对象是空的。 -Resources.resx

问题描述 投票:2回答:8

将我的项目转换为VS2010之后,一切看起来都很好(gui等等),但由于这个错误,我无法构建它。当我双击错误时,它会将我引导到资源文件,但不会告诉我问题所在。

你调用的对象是空的。 -Resources.resx

我的项目在VS2008上运行正常,是基于.net 2.0构建的,有没有人知道如何解决这个问题?

谢谢

c# visual-studio
8个回答
3
投票

就我而言,这是在将表单从一个项目复制到另一个项目之后发生的。似乎VS失去了对其中一个本地资源图像的引用。重新添加图像修复了问题。


2
投票

好吧,有些东西搞砸了,但没有太多地抨击它:

使用行标题选择资源文件中的所有行。 将所选内容复制到记事本。 删除Visual Studio中的资源文件。 使用确切的名称创建新的资源文件。 将记事本中的内容复制/粘贴回资源文件。

这应该够了吧。这仅适用于字符串资源。如果您有其他类型的资源,我担心简单的复制/粘贴不会那么简单。无论哪种方式,我认为重新创建资源文件是最简单的解决方案。

原则:“不知道,不关心。只是让它工作”:)


1
投票

将Windows窗体从一个项目复制到另一个项目时,我遇到了同样的问题。经过一些研究后,我发现它是由于.Net Framework的版本。

确保resx文件所在的项目是正确的版本。如果将其从项目A复制到项目B,请确保项目B的.Net版本与项目A相同。

http://www.codeease.com/object-reference-not-set-to-an-instance-of-an-object-in-resx-resource-file.html

希望它能帮到你


0
投票

当我从网络资源工作时,我遇到了这个问题,即使我也有写/读访问权限。当我将文件移动到本地文件夹时,它开始工作。

通常对我有用的是修改这样的资源文件:1。转到设计视图中的资源并复制所有字符串条目。 2.从设计视图中删除所有条目并保存。 3.转到代码视图并删除数据条目/节点(即使我从设计视图中删除了它们,我们的计算机上也没有删除它们)。 4.重建项目。 5.转到设计视图并粘贴先前复制并保存的条目。 6.重建,它应该工作。


0
投票

不幸的是,我的回答并不能真正帮到你,但与上面的回答是一致的。错误(看似)自发地消失了。

这里有一些其他可能有帮助的信息......(我有两个错误)我的场景是我最初在VSexpress2010,32位XP上开发的。最近升级到Win7 64bit。 (干净安装,现在把我所有的代码带回来......)

看起来这个错误通常是通过尝试引用一些空对象(我丢失了引用)而引发的。所以我尝试了这个,即使我的代码以前工作了......没有运气,但在我删除了新的'修复'代码后,该对象的错误消失了。刚玩过这个文件。

我也遇到过http://www.codeease.com/object-reference-not-set-to-an-instance-of-an-object-in-resx-resource-file.html这个页面。我搜索了剩余的resx,但是“版本= 2.0.0.0”。无论如何,在搜索之后,我进行了调试,它已经消失了。

简短回答:就像磁铁一样,F ## k如何运作?只需使用您的文件,并继续调试...希望最终它会工作。

  • 重新创建资源文件复制/粘贴(假设它是文本)
  • 在您的文件中进行一些编辑。保存。删除编辑。再次保存。
  • 搜索文件。

机会是不是你的代码,还有一些神秘的VSbug。

祝好运。

+1 @鲍里斯的答案,因为它确实是一个例子

“不知道,不在乎。只是让它工作”:)


0
投票

在我的情况下,我将我的项目从framwork 4.0转换为2.0,并复制Form .cs文件和Designer文件,之后我得到相同的错误。但是当我删除.resx错误消失了。请尝试删除.resx可能对您有所帮助!


0
投票

我正在将项目从XP 32位机器移动到64位Win 7机器。该项目是Framework 2.0

在我的情况下轻松修复。在resx文件中,将所有Version = 4.0.0.0更改为Version = 2.0.0.0


0
投票

在VS-2010的未指定崩溃之后出现问题,这显然损坏了项目。

RESX文件根本没有更改(根据项目的备份副本确定)。 VSPROJ文件中似乎存在无效引用。我不确定如何通过直接编辑纠正它们。

按照2012年的“Rohan”。我从表格中删除了背景图片,问题就消失了。

© www.soinside.com 2019 - 2024. All rights reserved.