[C# / WPF] component does not have a resource identified

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • skate master
  • Registratie: September 2004
  • Laatst online: 16:05

skate master

Autodesk Educator Expert

Topicstarter
Ik ben bezig met een tool in AutoCAD om eenvoudig verkeersborden te plaatsen.
Op het weergeven van het instellingen venster na werkt alles.

Zodra ik op de button "instellingen" klik zou er een dialogwindow weergegeven moeten worden met de instellingen.
Echter krijg ik iedere keer een exception op InitializeComponent(); bij het laden van mijn WPF Form.

De exacte error is:
System.Exception: The component 'RN_Verkeersborden.wpfSettings' does not have a resource identified by the URI '/RN_Verkeersborden;component/wpfsettings.xaml'.
   at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
   at RN_Verkeersborden.wpfSettings.InitializeComponent() in D:\Ontwikkeling\Plugins\RN-Verkeersborden\wpfSettings.xaml:line 1
   at RN_Verkeersborden.wpfSettings..ctor() in D:\Ontwikkeling\Plugins\RN-Verkeersborden\wpfSettings.xaml.cs:line 63
   at RN_Verkeersborden.UCmain.cmdInstellingen_Click(Object sender, RoutedEventArgs e) in D:\Ontwikkeling\Plugins\RN-Verkeersborden\UCmain.xaml.cs:line 188


Line 63 ziet er zo uit:
C#: wpfSettings.xaml.cs
63
InitializeComponent(); 


Line 188 ziet er zo uit:
C#: UCmain.xaml.cs
188
 wpfSettings wpfSettings = new wpfSettings(); 


Dit is hoe ik mijn instellingen venster weer wil geven, in andere projecten werkt dit prima behalve in deze.
C#: UCmain.xaml.cs
184
185
186
187
188
189
190
191
192
193
194
195
private void cmdInstellingen_Click(object sender, RoutedEventArgs e)
{
    try
    {
        wpfSettings wpfSettings = new wpfSettings();
        wpfSettings.ShowDialog();
    }
    catch (Exception myException)
    {
        MessageBox.Show("Fout bij openen instellingen venster\r\n" + myException);
    }
}


Om een probleem met een van de controls op het form uit te sluiten heb ik een nieuw form toegevoegd aan mijn project en deze verder leeg gelaten. Hierop krijg ik echter ook de melding over een ontbrekende resource.
Ook google heeft mij nog niet veel wijzer gemaakt, of ik kijk er compleet langs op.
Kan iemand mij vertellen wat ik fout doe of hoe ik dit op kan lossen?

Alle reacties


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Nu online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

  • Staat de build action van je xaml op page?
  • Klopt de URI met de locatie van je xaml? (Ik zie een puntkomma in je uri?)
  • Heb je toevallig de namespace van je project aangepast en komt die niet meer overeen?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • skate master
  • Registratie: September 2004
  • Laatst online: 16:05

skate master

Autodesk Educator Expert

Topicstarter
RobIII schreef op maandag 16 december 2024 @ 16:16:
  • Staat de build action van je xaml op page?
  • Klopt de URI met de locatie van je xaml? (Ik zie een puntkomma in je uri?)
  • Heb je toevallig de namespace van je project aangepast en komt die niet meer overeen?
  • Build action staat op page
  • URI klopt met de locatie van de xaml bestanden, geen idee waar die puntkomma vandaag komt. Dit is de exception zoals deze gegenereerd wordt
  • Namespace is niet gewijzgd. Heb alle files nog eens gecheck en ook de instellingen. Overal staat dezelfde Namespace vermeld.

Acties:
  • 0 Henk 'm!

  • jip_86
  • Registratie: Juli 2004
  • Laatst online: 16:27
Lijkt er op dat je de connectie tussen je xaml en xaml.cs kwijt bent. Bovenaan staat ook je class die moet corresponderen met je klassenaam uit je xaml.cs.

Acties:
  • 0 Henk 'm!

  • skate master
  • Registratie: September 2004
  • Laatst online: 16:05

skate master

Autodesk Educator Expert

Topicstarter
jip_86 schreef op maandag 16 december 2024 @ 17:11:
Lijkt er op dat je de connectie tussen je xaml en xaml.cs kwijt bent. Bovenaan staat ook je class die moet corresponderen met je klassenaam uit je xaml.cs.
Maar hoe dan? Dat zou betekenen dat wanneer ik een nieuw WPF Window toevoeg deze wel moet werken. Helaas krijg ik daar ook de melding van ontbrekende resource.

Hieronder de delen van de xaml en xaml.cs waarin de Namespace staat vermeld. Voor zover ik zie staat dit allemaal gelijk en correct.
code: wpfSettings.xaml
1
2
3
4
5
6
7
8
<Window x:Class="RN_Verkeersborden.wpfSettings"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:RN_Verkeersborden"
        mc:Ignorable="d"
                Title="RN Verkeersborden Tool - Instellingen" Height="391.346" Width="594" ResizeMode="NoResize" WindowStartupLocation="CenterScreen">

C#: wpfSettings.xaml.cs
1
2
3
4
5
6
7
namespace RN_Verkeersborden
{
    /// <summary>
    /// Interaction logic for wpfSettings.xaml
    /// </summary>
    public partial class wpfSettings : Window
    {

code: UCmain.xaml
1
2
3
4
5
6
7
8
<UserControl x:Class="RN_Verkeersborden.UCmain"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:RN_Verkeersborden"
             mc:Ignorable="d" 
             d:DesignHeight="1354" d:DesignWidth="350">

C#: UCmain.xaml.cs
1
2
3
4
5
6
7
namespace RN_Verkeersborden
{
    /// <summary>
    /// Interaction logic for UCmain.xaml
    /// </summary>
    public partial class UCmain : System.Windows.Controls.UserControl
    {


Ik zie niet wat er fout gaat in de Namespace.

Wel vraag ik mij af, zou het te maken kunnen hebben met NuGet packages?
Ik heb een 3-tal packages geinstalleerd,
  • AutoCAD.NET
  • System.Data.SQLite
  • System.Data.SQLite.Core
In de packagemanager onder Installed zie ik ook een hele lijst Transitive packages staan.
Als ik het goed begrijp zijn dit packages waar een referentie naar zit vanuit de geinstalleerde packages.
Wanneer ik zo'n Transitive package aanklik kan ik deze niet unistallen dus "lijkt" deze niet gebruikt te worden.
Kan het toch zijn dat een van deze roet in het eten gooit, en zo ja hoe kan ik vinden welke van de 23 dit dan is.
Afbeeldingslocatie: https://tweakers.net/i/piACqh7GUZKzWILto7QzP8XNh7U=/800x/filters:strip_exif()/f/image/ivBnRAEJwB6MO22qyAFZTdbL.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • jip_86
  • Registratie: Juli 2004
  • Laatst online: 16:27
Dat is meer een gevoel, maar ik denk niet dat het door de packages komt.

Ik vraag me af of het niet door de underscore komt in je namespace omdat ik in je foldernaam een - zie en je namespace een _. Dat zou wel verklaren waarom het bij een nieuw scherm ook fout gaat.

Acties:
  • 0 Henk 'm!

  • skate master
  • Registratie: September 2004
  • Laatst online: 16:05

skate master

Autodesk Educator Expert

Topicstarter
Ik heb in de foldernaam het - vervangen door een _ helaas zonder success.
Zelfs een test gedaan met foldernaam en namespace zonder streep of underscore (RNVerkeersborden) maar ook dit had geen effect.

Als tijdelijke pleister nu maar een Windows Forms form gebruikt om mijn instellingen scherm weer te geven zodat de plugin in iedergeval weer bruikbaar is. Maar dit voelt wel een stap terug en zou toch niet nodig moeten zijn.

Acties:
  • +1 Henk 'm!

  • Mercatres
  • Registratie: September 2009
  • Laatst online: 14:36
Ik zie een lower en uppercase variant van "wpfSettings.xaml.cs" en "wpfsettings.xaml" in de namspace.
code:
1
The component 'RN_Verkeersborden.wpfSettings' does not have a resource identified by the URI '/RN_Verkeersborden;component/wpf_s_ettings.xaml

vs
code:
1
RN-Verkeersborden\wpfSettings.xaml:line 1

Acties:
  • 0 Henk 'm!

  • skate master
  • Registratie: September 2004
  • Laatst online: 16:05

skate master

Autodesk Educator Expert

Topicstarter
Mercatres schreef op dinsdag 17 december 2024 @ 19:54:
Ik zie een lower en uppercase variant van "wpfSettings.xaml.cs" en "wpfsettings.xaml" in de namspace.
code:
1
The component 'RN_Verkeersborden.wpfSettings' does not have a resource identified by the URI '/RN_Verkeersborden;component/wpf_s_ettings.xaml

vs
code:
1
RN-Verkeersborden\wpfSettings.xaml:line 1
Die lowercase verschillen vind ik niet terug in de naamgeving van de bestanden.
Als dit wel het probleem zou zijn zou het toevoegen van een nieuwe form de oplossing zijn wat helaas niet zo is.

Acties:
  • 0 Henk 'm!

  • edeboeck
  • Registratie: Maart 2005
  • Laatst online: 18-05 20:20

edeboeck

mie noow noooothing ...

Wat is het effect als je een nieuw project (bij voorkeur met exact dezelfde naam, enkel op andere locatie, uiteraard) maakt met de packages gelinkt?

Acties:
  • +1 Henk 'm!

  • Mercatres
  • Registratie: September 2009
  • Laatst online: 14:36
skate master schreef op woensdag 18 december 2024 @ 13:10:
[...]

Die lowercase verschillen vind ik niet terug in de naamgeving van de bestanden.
Als dit wel het probleem zou zijn zou het toevoegen van een nieuwe form de oplossing zijn wat helaas niet zo is.
Nee, maar wel in de magic string die gebruikt wordt voor het path/namespace.
Pagina: 1