Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.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# 在VS2008中添加到.resx文件的新字符串会导致编译错误,因为它没有';不存在_C#_Resx_Compiler Errors - Fatal编程技术网

C# 在VS2008中添加到.resx文件的新字符串会导致编译错误,因为它没有';不存在

C# 在VS2008中添加到.resx文件的新字符串会导致编译错误,因为它没有';不存在,c#,resx,compiler-errors,C#,Resx,Compiler Errors,我最近将我的项目从VS2005升级到VS2008。我使用一个.resx文件来存储字符串,它在VS2005中运行良好 现在,使用VS2008,我在Strings.resx文件中添加了一个新字符串,并在代码(C#)中使用了它。但是我得到了一个编译错误,我的新字符串在字符串中不存在。 我让我的同事在他的机器上检查,他也遇到了同样的问题。 我发现VS2008将新字符串添加到了.resx文件中,但没有添加到.Designer.cs文件中 这是一个已知的问题吗?有没有办法解决这个问题?(除了将代码手动添加到

我最近将我的项目从VS2005升级到VS2008。我使用一个.resx文件来存储字符串,它在VS2005中运行良好

现在,使用VS2008,我在Strings.resx文件中添加了一个新字符串,并在代码(C#)中使用了它。但是我得到了一个编译错误,我的新字符串在字符串中不存在。 我让我的同事在他的机器上检查,他也遇到了同样的问题。 我发现VS2008将新字符串添加到了.resx文件中,但没有添加到.Designer.cs文件中

这是一个已知的问题吗?有没有办法解决这个问题?(除了将代码手动添加到.Designer.cs之外)


提前感谢。

我刚刚尝试在VS2005中使用.resx文件创建一个项目,然后将其转换为VS2008,没有问题。不过,我想我以前见过:在VS2008的解决方案资源管理器中,.resx和.designer文件是否分别显示?i、 e..resx文件旁边没有“+”图标,该图标将展开以显示.designer文件


如果是这种情况,我相信有某种方法可以让VS2008再次将它们视为连接的文件。可能在解决方案资源管理器中高亮显示这两个选项,右键单击并查看选项是什么?

我刚刚尝试在VS2005中创建一个带有.resx文件的项目,然后将其转换为VS2008,没有问题。不过,我想我以前见过:在VS2008的解决方案资源管理器中,.resx和.designer文件是否分别显示?i、 e..resx文件旁边没有“+”图标,该图标将展开以显示.designer文件


如果是这种情况,我相信有某种方法可以让VS2008再次将它们视为连接的文件。可能在解决方案资源管理器中高亮显示这两个文件,右键单击并查看选项是什么?

结果表明,出现问题的原因是我从StarTeam签出.resx和.Designer.cs文件后,它们是只读的

在VS2005中,有人问我是否要使两个文件都可写,当我回答是时,.Designer.cs文件也被修改了,因此我可以从代码中访问新成员。但在VS2008中,它不询问我是否要使.Designer.cs文件可写,因此它保持只读,而VS无法修改它,因此我无法访问新成员

总结如下:
在更改.resx文件以使其在VS2008中正常工作之前,您应该始终使.resx文件和.Designer.cs文件都可写。

结果表明,出现问题的原因是,我从StarTeam签出.resx和.Designer.cs文件后,它们是只读的

在VS2005中,有人问我是否要使两个文件都可写,当我回答是时,.Designer.cs文件也被修改了,因此我可以从代码中访问新成员。但在VS2008中,它不询问我是否要使.Designer.cs文件可写,因此它保持只读,而VS无法修改它,因此我无法访问新成员

总结如下:
在更改.resx文件以使其在VS2008中正常工作之前,应始终使.resx文件和.Designer.cs文件都可写。

否,它们与++一起显示,因此这不是问题所在。顺便说一句,我知道如何在解决方案资源管理器中将文件合并为一个文件。您可以在记事本中打开.csproj文件进行编辑,找到要在另一个文件下显示的文件,并使其看起来像:MyOtherFile.cs否,它们一起显示(与+),因此这不是问题所在。顺便说一句,我知道如何在解决方案资源管理器中将文件合并为一个文件。您可以在记事本中打开.csproj文件进行编辑,找到要在另一个文件下显示的文件,并使其看起来像:MyOtherFile.cs与TrueChange的问题完全相同,当您获取文件时,这些文件是只读的。谢谢你的回答。我总是在2k5中被问到,但不是像你说的那样在2k8中。对于其他人来说,一旦您已经创建了一个新条目(或2、或3),那么“更正”它的方法是使设计器可写,然后将resx文件中的密钥更改为任意值(并保存),以强制重新写入。那就把它换回来。您只需要对其中一个值执行此操作,而不是对所有值执行此操作,因为它会对文件进行完整的重新处理。TrueChange的问题与此完全相同,当您获取文件时,它们是只读的。谢谢你的回答。我总是在2k5中被问到,但不是像你说的那样在2k8中。对于其他人来说,一旦您已经创建了一个新条目(或2、或3),那么“更正”它的方法是使设计器可写,然后将resx文件中的密钥更改为任意值(并保存),以强制重新写入。那就把它换回来。您只需要对其中一个值执行此操作,而不是对所有值执行此操作,因为它会对文件进行完整的重新处理。