我使用的是德语版本的Visual Studio 2017。我们项目的另一个程序员使用的是英语版本。现在我们项目的.resx文件有问题了。我们创建了一些菜单项并给予它们键盘快捷键。因为我们是在英语版本中创建的,所以.resx文件中的快捷键名称是英语的:
<data name="Example.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
<value>Ctrl+O</value>
字符串
现在,如果我想编译德语版本的VS代码,我得到了以下错误:
一个X-日期。该命令的”控制“不应被执行。
用英语说:
无效的ResX文件。无法找到请求的值ウCtrl Ж。
可通过此编辑(“Strg”而不是“Ctrl”)更正错误:
<data name="Example.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
<value>Strg+O</value>
型
有没有更简单的方法来解决这个问题?因为像这样的捷径有很多,我们不可能每次都对每个捷径都这样解决错误。
3条答案
按热度按时间9w11ddsr1#
这个问题也被描述为here。
这个解决方案对我有效:
**您可以使用“中性”键名称,例如“Control”而不是“Ctrl”或“Strg”。**如果您在.resx文件中使用System.Windows.Forms.Keys中的键名称,则可以使用Visual Studio的所有语言版本打开它们。不幸的是,Windows Forms Designer保存.resx文件时使用损坏的(本地化的)键盘快捷方式。
eulz3vhy2#
在https://developercommunity.visualstudio.com上有一个问题。是的,它可以通过使用“中性”键(如“Control”或“Delete”)来修复,但由于RESX文件是从表单设计器生成的,因此这些更改将被覆盖。WinForms Designer不允许将快捷方式设置为“Control”或“Delete”。
vwoqyblh3#
一个简单的解决方法是在代码中设置快捷键,而不是通过设计器:
字符串
这将不会在设计时显示快捷方式:
x1c 0d1x的数据
但会在执行过程中显示,例如在德语中:
的
或者用英语说:
的
.resx文件中的ShortcutKeys-entry已被删除,因此即使重新生成资源文件,也不会再发生此问题。