我遇到Visual Studio 2010和Outlook Addin 2010项目(.NET 4目标)的问题。我已经在项目中添加了一个表单区域,然后我将Localizable
属性更改为true。现在,如果我关闭我的表单区域并重新打开它,我将收到此VS错误页面:
To prevent possible data loss before loading the designer, the following errors
must be resolved:
The variable 'resources' is either undeclared or was never assigned.
当我在表格区域或功能区中更改任何属性时,实际上会发生这种情况。如果代码是针对.NET 4的。在针对.NET 3.5的项目中,一切都是有序的。
以下是此错误引用的示例代码是由VS创建的,它是FormRegion.Designer.cs
的一部分。它在ApplyResources
行中断(如果我发表评论,那么一切正常)。
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources =
new System.ComponentModel.ComponentResourceManager(typeof(FormRegion1));
this.SuspendLayout();
//
// FormRegion1
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Name = "FormRegion1";
this.FormRegionShowing +=
new System.EventHandler(this.FormRegion1_FormRegionShowing);
this.FormRegionClosed +=
new System.EventHandler(this.FormRegion1_FormRegionClosed);
this.ResumeLayout(false);
}
如果我选择忽略错误并强制VS加载可视化编辑器,那么我会收到另一个错误:
Cannot open a designer for the file because the class within it does not inherit
from a class that can be visually designed.
起初我虽然我的代码存在问题(我的项目已从VS2008和Outlook 2007迁移)。但后来我为VS2010和Outlook 2010创建了一个新项目,我遇到了同样的问题。
重现它的步骤:
Localizable
属性更改为true