c# - C# Localization = true 原因“属性‘文本’的代码生成失败。”
问题描述
我有一个已经存在 20 多年的解决方案。我已将我的问题归结为最低限度:如果我创建一个干净且未经编辑的 Windows 窗体,我将无法在没有收到提示且无法保存的情况下将 Localization 更改为 True:
属性“文本”的代码生成失败。你调用的对象是空的。
仅当表单位于特定项目/命名空间中时才会发生这种情况。如果我将文件移动到名称空间更改的不同项目,它可以工作。在任何其他项目中创建新表单都按预期工作。
“文本”指的是每种形式的标题变量。
它创建了一个 (1) .resx 文件,但似乎没有使用它。至少,我无法使用多种语言(没有 .en.resx 或其他)。
所以......一个表单怎么会受到简单的影响而只是在同一个项目/命名空间中?想法?
解决方案
该项目还有另一个 resx,它已经存在了一段时间,并且由于迁移到较新的 Visual Studio 版本而损坏。我在某处发现了一个页面,指出这可能发生在 ~vs2005 左右。无论如何,就我而言,我手动删除了项目中 resx 文件中的这些行(这不是我想要更改的表单的 resx 文件)。
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="CommonMyProjectGui" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
然后它又起作用了。
笔记; 我发现谈论其他变量的评论可能会受到影响,所以分而治之,看看其他变量是否受到影响。
推荐阅读
- ios - Swift:从照片库中获取不包括子类型的资产
- java - 如何在java中获取关联规则中每个项目的计数?
- javascript - Async/Await 没有按预期工作:ReactJS+ Async Await
- android - Android sw600dp 无法正确覆盖某些平板电脑
- java - 如何选择 Maven 依赖项的输出:列表?
- c# - 显示数组时没有输出
- ios - 当我将 Charts UIView 作为 IBOutlet 添加到 ViewController 时,应用程序崩溃
- c# - 如何在字典中找到键
通过使用 Linq - r - 使用 R 查找连续的唯一位置
- twitter-bootstrap - 移动设备上的引导选择