Client Add-In in eine Page integrieren

2. Juni 2014 15:12

Hallo zusammen,

ich versuche grad ein fertiges Client Add-In in eine Page zu integrieren.
Ich habe dieses Add-In in der Tabelle "Client Add-in" erfolgreich eintragen können.

Versuche ich nun in einer neuen Page in einem Control die ClientAddIn Property mit diesem Add-In zu füllen und starte die Page kommt dieser Fehler:
"Das Add-In für Steuerelemente für [...] wird nicht unterstützt".

Habe auch versucht die DLL mit einem anderen DotNet Framework zu kompilieren aber es hat sich nichts geändert.

Zum allgemeinen Verständnis: Es ist ein Add-In was die Ressourcen Planung um ein visuelles Element ergänzen soll.

Wenn jemand weiß wie man den Fehler beheben kann, würde ich mich über Feedback freuen.

MFG
Cas

Re: Client Add-In in eine Page integrieren

2. Juni 2014 15:22

Hallo,

schau mal bitte hier, ob du nicht eine Reference oder Einstellung vergessen hast:
http://msdn.microsoft.com/en-us/library/dd983804.aspx

Welches Visual Studio (Version) nutzt du dafür?



Gruß
Aydin

Re: Client Add-In in eine Page integrieren

2. Juni 2014 15:45

Erstmal Danke für die schnelle Antwort.

Ich nutze VS 2012 dafür.

Durch msdn habe ich mich bereits durchgekämpft :)

Meine Frage ist, ist dies hier notwendig oder nur optional:

Code:
public class MyFieldPopupAddin : StringControlAddInBase
{
}


WIe gesagt es ist ein Fertiges Add-in was quasi nur noch in NAV integriert werden muss.
Ansonsten habe ich eig. alles was bei msdn steht berücksichtigt aber trotzdem kommt dieser Fehler den ich oben beschrieben habe.

Ich werde nun einfach mal versuchen dieses Beispiel auf der MSDN Seite 1v1 zu übernehmen und schau mal ob das Add-in funktioniert.

Re: Client Add-In in eine Page integrieren

2. Juni 2014 16:25

Herzlich Willkommen im Forum!
Damit kann man viel "Spaß" haben :mrgreen: .
Ggf. müssen einige DLLs auch in die Service Tier (nicht lokal), den Fall hatte ich hier. Dann muss auch der Dienst neu gestartet werden.
Lokal hatte ich schon solche Fehlermeldungen, wenn die DLLs nicht im Root vom Add-ins Ordner lagen (obwohl die lt. Einrichtung eigentlich im Unterordner liegen sollten).
Manchmal fehlen auch Einrichtungsdaten in NAV oder die DLLs wurden nicht richtig registriert.

Re: Client Add-In in eine Page integrieren

2. Juni 2014 16:30

Hallo,

kann es eigentlich sein, dass ein Add-In, das mit dem VS 2013 generiert wird, nicht kompatible ist mit NAV 2013?
Hast du auch ein VS 2010 parat zum Überprüfen?


Gruß
Aydin

Re: Client Add-In in eine Page integrieren

2. Juni 2014 16:42

Danke :)


So, also das MSDN Beispiel funktioniert schonmal :-D
Muss wohl an den C# Code des AddIn ran.

Den Dienst start ich mittlerweile aus gewohnheit immer neu ^^


Werd mich morgen Vormittag mal damit beschäftigen und schauen ob das an der dll liegt bzw. einem falschen Ordner oder an dem AddIn selber.

Hab hier leider nur VS2012 kein 2010.


Wünsch euch allen schonmal einen schönen Feierabend!

MFG
Cas

Re: Client Add-In in eine Page integrieren

2. Juni 2014 18:08

Castiel hat geschrieben:Meine Frage ist, ist dies hier notwendig oder nur optional:
Code:
public class MyFieldPopupAddin : StringControlAddInBase
{
}

Du musst mindestens von WinFormsControlAddinBase (http://msdn.microsoft.com/en-us/library/microsoft.dynamics.framework.ui.extensibility.winforms.winformscontroladdinbase(v=nav.70).aspx ableiten oder auch alternativ IWinFormsControlAddIn und IControlAddIn implementieren. Ansonsten erkennt Dynamics NAV nicht, dass es sich um ein Addin handelt.

Zusätzlich muss ControlAddInExport definiert sein (der hier angegebene Name korrespondiert mit dem Namen in der Tabelle Control Add-In) und die Methoden sollten, sofern diese aus Dynamics NAV zugänglich sein sollen, ApplicationVisible gesetzt haben (siehe hier: http://msdn.microsoft.com/en-us/library/microsoft.dynamics.framework.ui.extensibility.applicationvisibleattribute(v=nav.70).aspx).

Re: Client Add-In in eine Page integrieren

3. Juni 2014 11:50

Das mit dem ControlAddInExport-Namen für NAV habe ich bedacht.

Ich habe die public class MyFieldPopupAddin : StringControlAddInBase nun auch eingebaut.
Komischerweise kommt nun nicht mehr der Fehler "Nicht unterstützt" sondern "nicht gefunden" :D .

Service auch schon mehrfach neu gestartet und die dll liegt im root Verzeichnis des AddIn Ordners und nicht in einem Unterordner.

Ich glaub wenn ich den Fehler behoben habe habe ich es fast geschafft^^

MFG
Cas

Re: Client Add-In in eine Page integrieren

3. Juni 2014 12:10

Castiel hat geschrieben:[…] die dll liegt im root Verzeichnis des AddIn Ordners und nicht in einem Unterordner.

Normalerweise gehört die ja in den Unterordner (der sollte also immer auch vorhanden sein) aber ich hatte auch schon Fälle, in denen die nur gefunden wurde, wenn sie auch im Root lag.

Re: Client Add-In in eine Page integrieren

3. Juni 2014 13:31

Ja aber bei mir findet der das auch nicht im Unterordner.

Habe den Fheler nun behoben aber "überraschender" Weise kommt nun ein neuer:
"SetCompatibleTextRenderingDefault muss aufgerufen werden, bevor das erste IWin32Window-Objekt in der Anwendung erstellt wird.."

Wird ja immer witziger ^^

Re: Client Add-In in eine Page integrieren

3. Juni 2014 15:40

Habs hinbekommen :D

Ein paar kleinere Änderungen im C# Code und ein Aufruf der Show-Methode in NAV und schon ploppt das AddIn auf ;)

Danke für eure Hilfe!
Schönen Tag euch noch.

MFG
Cas