【问题标题】:When opening a .resx file in Visual Studio 2012, gives "The operation could not be completed. Invalid pointer" error在 Visual Studio 2012 中打开 .resx 文件时,出现“无法完成操作。指针无效”错误
【发布时间】:2013-06-25 18:07:12
【问题描述】:

在将表单“MainForm”设置为可本地化后,我正在尝试修改表单的 resx 文件。当我尝试打开文件“MainForm.resx”时,它现在给出错误“操作无法完成。无效的指针”。我正在运行 Visual Studio 2012。

【问题讨论】:

  • 这不是重复的,因为这是在 VS2008 中修复的错误。我有时也会收到错误消息:“无法完成操作。未指定的错误”
  • 我从 VS2003 更新的项目中得到了这个,我相信它是由空的 <data> 元素引起的。它们应该包含<value/>。奇怪的是,将项目升级到 VS2012 的不同尝试显然更新了 resx 文件以自动包含这些空的 <value/> 元素。

标签: c# winforms visual-studio-2012 resx


【解决方案1】:

我遇到了同样的问题,结果发现我的 resx 文件中有一些无效的 xml。

我有以下:

<data name="UNIT_MEASURE_CUBE_S1" mimetype="ZONE">
    <value>U/M for Cube</value>
</data>

在上面的 mimetype 中是无效的 xml。我删除了这个,所以我留下了这个:

<data name="UNIT_MEASURE_CUBE_S1">
    <value>U/M for Cube</value>
</data>

我能够缩小范围的方法是删除 resx 文件中的一半资源并保存它并尝试在 Visual Studio 中加载它。如果那行得通,我知道问题出在 xml 的最后 1/2 处。我继续这样做,直到我可以将其缩小到 resx 文件的一小部分。最终我发现了我的问题。

【讨论】:

  • 在我的例子中,一个任性的合并已经消除了&lt;value/&gt; 元素,这在技术上是有效的 XML(没有 xml 解析错误等),但显然没有被很好地处理RESX 设计师。感谢有关“减半”的提示...我可以使用 xml 注释来做到这一点,效果很好:&lt;!-- ... --&gt;
  • +1 在 reszx 文件的 xml 中逐步删除元素的好主意。我做了同样的事情,我能够找到错误的根源。谢谢。
  • 帮我解决了我的问题。 resx 文件有一些属性为 "type="System.Resources.ResXNullRef, System.Windows.Forms"" 的数据。这很奇怪,所以我用 xml:space="preserve" 更改了它们,就像其他数据条目一样。和中提琴,它有效。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-17
  • 1970-01-01
  • 1970-01-01
  • 2013-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多