SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Propertys werden zur Laufzeit nicht richtig erkannt

Unbeantwortet Dieser Beitrag hat 9 Antworten

Ohne Rang
55 Beiträge
tonikln erstellt 22 Aug. 2012 13:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

wie der Name des Threads schon sagt, werden die Propertys zur Laufzeit nicht richtig erkannt.
Ich habe eine Klasse "Task". In dieser Klasse befinden sich folgende Propertys:
      public int Id { get; set; }
      public string Title { get; set; }
      public string Type { get; set; }
      public bool stark { get; set; } //Vor paar Tage war diese Property als Int deklariert

Die Klasse Task nutze ich wiederrum in einer anderen Klasse, als Template für eine Liste:
      IEnumerable<Task>

Durch den Intellisense in Visual Studio, wird beim entwickeln die Property stark richtig erkannt und kann diese auf true oder false setzten. Nun wenn ich das Projekt starte bekomme ich immer folgende Fehlermeldung:
            Methode nicht gefunden: "Void Task.set_stark(Boolean)".

Beim habe ich festgestellt, dass die property stark immernoch ein Int ist. Kann mir dieses Verhalten leider nicht erklären. Ich habe bereits das Projekt bereinigt und neu erstellt. die Dll werden auch aktualisiert.

Weiß jemand von euch woran es liegen könnte?

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Aug. 2012 13:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wo läuft denn der Code? Wenn es z.B. in einem eigenen Timerjob ist, muß der Timerdienst neu gestartet werden. Versuche doch erstmal einen iisreset.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
55 Beiträge
tonikln Als Antwort am 22 Aug. 2012 13:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das Projekt wird als WebPart in Sharepoint eingebunden. Ich habe mir eine Konsolenanwendung gebaut die Daten von einer DB ziehen soll.
Die DLLs werden auch alle in der Web.config und in dem GAC geschrieben. Ein iisreset habe ich ebenfalls schon durchgeführt. Leider ohne erfolg.

Ohne Rang
163 Beiträge
Markus Sallmutter Als Antwort am 22 Aug. 2012 13:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

alternativ zum iisreset kannst du auch den Applicationpool recyclen. Das geht meiner Meinung nach schneller und betrifft dann nicht den gesamten iis.

Außerdem würde ich dir empfehlen das kopieren der dll und das recyclen des Applicationpools direkt in einem Post-build Event zu machen. Dann brauchst du im VS nur auch build klicken und alles weiter passiert automatisch

Ohne Rang
163 Beiträge
Markus Sallmutter Als Antwort am 22 Aug. 2012 13:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn es ein WebPart ist musst du es meiner Meinung nach neu Deployen

Ohne Rang
55 Beiträge
tonikln Als Antwort am 22 Aug. 2012 13:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das neu deployen würde erstmal nichts bringen, da die Daten aus der DB kommen und die Klasse eigentlich nichts mit dem WebPart zu tun hat.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Aug. 2012 13:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Beschreibe doch nochmal genau die Strukturen. Du hast also ein Webpart und das referenziert eine andere Assembly? Oder wo läuft der Code dieser anderen Assembly?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
55 Beiträge
tonikln Als Antwort am 22 Aug. 2012 14:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe mehrere Klassenbibliotheken in meinem Projekt.

1. SharePoint Projekt --> hier befindet sich das WebPart
2. Model -> Hier befindet sich die Klasse Task
3. DAL

Mein SharePoint Projekt greift ja nur auf die Klassenbibliothek DAL zu. DAL benutzt dann das Model um die Daten zu Binden.
Ich habe das Projekt jetzt genauer untersucht und es scheint, dass die Model Klassenbibliothek nicht richtig erstellt wird.
Ich habe testweise in meiner Konsolenanwendung eine neue Klasse erstellt mit dem selben Propertys die in der Klasse Task sind und das funktioniert reibungslos. Es kann also nur an dem Model liegen.

Kann man irgendwie das erstellen der dll Datei beeinflussen ?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Aug. 2012 15:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

D.h. Model und DAL laufen ebenfalls im Kontext des Webparts? Dann reicht es nämlich nicht, einfach die Assembly im BIN oder GAC auszutauschen. IIS cacht die nämlich und deshalb braucht es einen iisreset oder App Pool Recycle.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
55 Beiträge
tonikln Als Antwort am 22 Aug. 2012 16:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe es jetzt einfach so gelöst, dass ich ein neues Model Projekt angelegt habe.

Jetzt funktioniert alles ;)