Avatar billede brian0905 Nybegynder
24. april 2008 - 16:13 Der er 5 kommentarer og
1 løsning

Store problemer med custom attributter

Hejsa,

Jeg er ved at skrive en opgave hvor jeg vil knytte en feature fra mit system (en tekst beskrivelse) med et eller flere metoder i min kode. Det vil jeg gøre med en attribut på metoden, sådan en har jeg lavet:

[code]

[AttributeUsage(AttributeTargets.Method)]
    public class EVUAttachFeature : Attribute
    {
        public EVUAttachFeature(params int[] featureids)
        {
            //empty
        }
    }

[/code]

indtil videre er der ingen problemer. Denne klasse findes i et class library jeg havde tænkt mig at importere i hvert projekt jeg skal lave, så jeg kan knytte en besemt metode til en feature i en database et sted (id 42)

[code]
...
[EVUAttachFeature(42)]
public int Add(int a, int b)
{
return a+b;
}

Meget enkelt! mit problem kommer så når jeg har tilføjet min reference til dette fantastiske library fra mit nye projekt, jeg reflecter over det nye projekt og gennemløber alle metoder for at se om de har den custom attribut der hedder EVUAttachFeature, her går det galt!

[code]
...
foreach (MethodInfo info in type.GetMethods())
            {               
                foreach (object methodFeature in info.GetCustomAttributes(false))
                {
                  //gør noget
                }
...
[/code]
Den brager ned med følgende besked om at mit library ikke findes og den kan ikke loade filen??? Nogle der ved hvad der sker?

{"Could not load file or assembly 'EVUCoreLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c20d0708843eb2b0' or one of its dependencies. The system cannot find the file specified.":"EVUCoreLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c20d0708843eb2b0"}
Avatar billede brian0905 Nybegynder
24. april 2008 - 16:14 #1
Skylder lige at sige at det er i GetCustomAttributes(false) den brager ned
Avatar billede brian0905 Nybegynder
24. april 2008 - 21:44 #2
Update: Det er som om det er når min custom attribute findes i en ekstern assembly denikke kan loade den assembly...
Avatar billede aaberg Nybegynder
24. april 2008 - 22:13 #3
Prøv at fjerne din reference til den eksterne assembly og tilføj den igen. Visual Studio kan ind imellem kludre lidt i referencerne!

Dette er lidt et skud i tågen, men et forsøg hvert!
Avatar billede brian0905 Nybegynder
28. april 2008 - 13:41 #4
Update: Ser ud til at det kan skyldes at det er et class library der loader en anden assembly som så bruger en attribut fra det class library (ikke den cirkulære reference der er problemet, men måske mere det at det er et class lib der loader en anden app)

Finder ikke ud af det, tak for hjælpen, giv et svar
Avatar billede aaberg Nybegynder
28. april 2008 - 14:23 #5
Behold du bare dine points.
Avatar billede brian0905 Nybegynder
04. maj 2008 - 23:14 #6
update: Det viser sig mere at have noget med at jeg reflecter fra en custom control.Jeg flyttede det hele ud i main formen og så virkede det, underligt nok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester