Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Visual Studio 2012中打开.resx文件时,给出;无法完成该操作。无效指针";错误_C#_Winforms_Visual Studio 2012_Resx - Fatal编程技术网

C# 在Visual Studio 2012中打开.resx文件时,给出;无法完成该操作。无效指针";错误

C# 在Visual Studio 2012中打开.resx文件时,给出;无法完成该操作。无效指针";错误,c#,winforms,visual-studio-2012,resx,C#,Winforms,Visual Studio 2012,Resx,在将表单“MainForm”设置为可本地化后,我试图修改表单的resx文件。当我尝试打开文件“MainForm.resx”时,它现在给出错误“操作无法完成。指针无效”。我正在运行Visual Studio 2012。我遇到了完全相同的问题,结果发现我的resx文件中有一些无效的xml 我有以下几点: <data name="UNIT_MEASURE_CUBE_S1" mimetype="ZONE"> <value>U/M for Cube</value>

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

我遇到了完全相同的问题,结果发现我的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文件中的一半资源,保存它并尝试在visualstudio中加载它。如果这样做有效的话,我知道问题出在xml的最后1/2部分。我继续这样做,直到我可以把它缩小到resx文件的一小部分。最终我发现了我的问题。

可能的重复不是重复,因为这是一个在VS2008中修复的错误。我有时也会收到错误:“操作无法完成。未经证实的错误”我从VS2003更新的项目中收到此错误,我相信这是由空的
元素造成的。它们应该包含一个
。奇怪的是,将项目升级到VS2012的另一次尝试显然自动更新了resx文件以包含这些空的
元素。在我的例子中,任意的合并已经删除了
元素,该元素在技术上是有效的XML(没有XML解析错误等)但显然RESX设计师处理得不好。感谢关于“减半”的提示……我能够用一条xml注释完成它,效果非常好:
+1逐步删除reszx文件xml中的元素是一个非常好的主意。我也做了同样的事情,我能够找到错误的根源。谢谢你,帮我解决了问题。resx文件包含一些属性为“type=“System.Resources.ResXNullRef,System.Windows.Forms”的数据。这很奇怪,所以我用xml:space=“preserve”更改了它们,就像其他数据条目一样。还有维奥拉,这很有效。非常感谢