У меня проблема с проектом 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.
Это действительно происходит, когда я изменяю любое свойство в области формы или на ленте, если код предназначен для .NET4. В проектах, нацеленных на .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, и у меня возникла та же проблема.
Шаги по его воспроизведению:
- Создание нового проекта надстройки Outlook 2010 в Visual Studio2010 (.NET 4)
- Добавление нового элемента FormRegion в проект (не имеет значения, для какого элемента вы его включаете, также не имеет значения, является ли он присоединенным или отдельным регионом формы)
- Откройте свойства нового элемента и измените свойство
Localizable
на true
- Закройте элемент и снова откройте его