1

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

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

这是一个已知问题吗?有什么办法可以解决吗?(除了手动将代码添加到 .Designer.cs)

提前致谢。

4

2 回答 2

1

事实证明,问题的发生是因为我的 .resx 和 .Designer.cs 文件在我从 StarTeam 签出后是只读的。

在 VS2005 中,有人问我是否想让这两个文件都可写,当我回答是时,.Designer.cs 文件也被修改了,所以我可以从我的代码中访问新成员。但是在VS2008中,它没有询问我是否要使.Designer.cs文件可写,所以它保持只读状态并且VS无法修改它,所以我无法访问新成员。

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

于 2009-07-27T06:56:33.217 回答
0

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

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

于 2009-07-23T08:08:04.597 回答