Fehlermeldung im Windows-Forms-Designer nach DevExpress-Update

devexpress
winforms
Tags: #<Tag:0x00007fdfd6c12380> #<Tag:0x00007fdfd6c121f0>
#1

Immer wieder mal, wenn ich ein Update meiner DevExpress-Komponenten mache, bekomme ich einen Fehler im Windows-Forms-Designer:

The variable ‘barManager’ is either undeclared or was never assigned.

Ursache:

  • Ich verwende eine eigene, von BarManager abgeleitete Klasse.
  • Diese eigene Klasse hat ein Designer-Attribut angegeben.
  • In dem Designer-Attribut ist hard-coded eine DevExpress-Verison angegeben.
  • Der DevExpress-Konverter upgradet diese nicht.

Beispiel:

[Designer(
    "DevExpress.XtraBars.Design.BarManagerDesigner, DevExpress.XtraBars.v15.1.Design",
    typeof(IDesigner))]
[DXToolboxItem(true)]
[LicenseProvider(typeof(DXWinLicenseProvider))]
[ProvideProperty("PopupContextMenu", typeof(Control))]
public class MyBarManager : BarManager
{
	public MyBarManager();
	public MyBarManager(IContainer container);

	protected override BarManagerPaintStyle PaintStyle { get; }

	protected override BarManagerHelpers CreateHelpers();
	protected override BarSelectionInfo CreateSelectionInfo();
	protected override void OnLoaded();
}

Die Ursache ist die Zeichenfolge “v15.1” in obigem Beispiel.

Bei mir war es so, dass ich das nach einem Update von DevExpress 15.1.8 auf 15.2.3 bekommen habe. Natürlich ist jedes andere Update, das die Versionsnummer ändert, auch für so etwas ursächlich.

Lösung:

Einfach von Hand die Versionsnummer ändern und neu kompilieren.

Eventuell ggf. Visual Studio neu starten.

#2

Ich habe dieses Thema auch bei DevExpress im Forum angesprochen.

Diese haben mir korrekterweise gesagt, ich kann das Designer-Attribut einfach entfernen.