Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C# .NET] error CS0115: no suitable method found to override

Pagina: 1
Acties:
  • 267 views sinds 30-01-2008
  • Reageer

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Hi guys,

Bij het compilen van mijn applicatie krijg ik de volgende error: error CS0115: 'CPCClient.frmLogin.Dispose(bool)': no suitable method found to override

Het vreemde is, dat ik twee versies heb van deze applicatie. De eerste versie is geschreven door de programmeur op mijn werk en werkt goed, de tweede versie is een exacte kopie van de applicatie (copy & paste van de code) die ik heb gemaakt, en deze geeft een foutmelding.

Wat me wel opviel is een reference die wordt gebruikt, deze heet in de originele versie CPC_BSLib. Ik heb deze referentie ook aangemaakt in mijn kopie-applicatie, uiteraard met hetzelfde bestand, waarin hij ineens de naam van het bestand krijgt: Interop.CPC_BSLib. Ook zijn de properties van beide referenties niet gelijk. In de kopie heeft hij een property Aliases, welke de waarde global heeft, deze mist in het orgineel. Culture heeft in het orgineel de waarde 0 en Description heeft de eigenschap CPC_BS 1.0 Type Library, in de kopie zijn de waardes voor beide eigenschappen leeg. In het orgineel heeft de eigenschap File type de waarde ActiveX, in de kopie staat deze op Assembly. De identity heeft in het orgineel als waarde een lange gegenereerde syntax, in de kopie is dit Interop.CPC_BSLib. Het orgineel heeft bij Isolated de waarde false, in de kopie ontbreekt deze eigenschap. In de kopie heeft de eigenschap Specific Version de waarde False, in het orgineel ontbreekt deze eigenschap. Bij de kopie heeft de eigenschap Runtime Version de waarde v2.0.50727, in het orgineel ontbreekt deze eigenschap.

Iemand een idee of de error veroorzaakt kan worden door de verschillen in de reference? En zo ja, hoe kan ik deze rechttrekken? De velden zijn nl. niet te bewerken.

  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Wat me wel opviel is een reference die wordt gebruikt, deze heet in de originele versie CPC_BSLib. Ik heb deze referentie ook aangemaakt in mijn kopie-applicatie, uiteraard met hetzelfde bestand, waarin hij ineens de naam van het bestand krijgt: Interop.CPC_BSLib.
Het lijkt erop dat in je kopie-appicatie Visual Studio een zgn. runtime callable wrapper aanmaakt voor je dll. Deze biedt in grote lijnen dezelfde methodes aan als de dll die het wrapt, maar verschilt vaak op punten zoals Dispose().

Dit is volgens mij het standaard gedrag van Visual Studio wanneer je een referentie toevoegt naar een COM, Automation of ActiveX-dll vanuit een .NET-project, en dit is ook meestal wat je wilt. Maar het lijkt erop alsof jouw applicatie het COM-object rechtstreeks aanspreekt (en niet via een RCW). Kun je eens een stukje code posten van hoe je een referentie krijgt naar dit COM-object?

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
De bug is er al uit, blijkbaar had ik zand in m'n ogen want er klopte een simpele referentie niet |:(