OpenSimulator vom Manni - Druckversion +- GridTalk.de (https://www.gridtalk.de) +-- Forum: Werkstatt (https://www.gridtalk.de/forumdisplay.php?fid=4) +--- Forum: Technik (https://www.gridtalk.de/forumdisplay.php?fid=25) +---- Forum: Linux (https://www.gridtalk.de/forumdisplay.php?fid=26) +---- Thema: OpenSimulator vom Manni (/showthread.php?tid=4234) |
RE: OpenSimulator vom Manni - Manfred Aabye - 08.04.2023 The type or namespace name 'ICertificatePolicy' could not be found (are you missing a using directive or an assembly reference?) Da fehlt also kein namespace oder reference das ist einfach ersetzt worden. Das ist: ICertificatePolicy -> ValidateServerCertificate ValidateServerCertificate zu finden im namespace: OpenSim.Framework OpenSim.Framework.Servers OpenSim.Region.CoreModules.Scripting.HttpRequest OpenSim.Server Warum abwärtskompatibel machen, wenn man die Leute doch so schön verarschen kann. Die Leute von Microsoft sitzen da, mit Tränen in den Augen vor Lachen, während Tausende verzweifelt versuchen ihren Code anzupassen. RE: OpenSimulator vom Manni - Pius Noel - 10.04.2023 (08.04.2023, 14:51)Manfred Aabye schrieb: Leider muss beim DTL/NSL Money Server die ICertificatePolicy für dotnet6 komplett ausgetauscht werden.Auf dieser Seite steht in der Beschreibung zum Build: "Copy - addon-modules to addon-modules" Hmmm.. apropos addon-modules... funktioniert denn unter dotnet 6 Mono.Addins noch? RE: OpenSimulator vom Manni - Manfred Aabye - 10.04.2023 Also die OpenSimCurrencyServer-2021 ist für .net 4.8 und funktioniert. OpenSimCurrencyServer-2023 ist für dotnet 6 und funktioniert noch nicht. Alle Module kann ich leider nicht testen, das heißt man muss diese auf gut Glück kompilieren. Es werden auch keine exe Dateien mehr gestartet, sondern dll so gravierende Unterschiede sind im ganzen dotnet zu finden. Start des OpenSimulator alt: mono Robust.exe mono MoneyServer.exe mono OpenSim.exe neu: dotnet Robust.dll dotnet MoneyServer.dll dotnet OpenSim.dll RE: OpenSimulator vom Manni - Pius Noel - 10.04.2023 Ich hab mir heute die Sache mal etwas genauer angeschaut. Um das mit den Mono.Addins vorweg zu nehmen, die funktionieren noch Zum jetzt zum Money-Server Modul. Soweit ich feststellen konnte, wird die Klasse NSLCertificatePolicy : ICertificatePolicy gar nicht benutzt. Ich habe in in der folgenden Datei, ganz unten am Ende, die ganze Klasse einfach mal auskommentiert: addon-modules\OpenSim-Modules-Currency\OpenSim.Modules.Currency\NSLCertificateTools.cs In der gleichen Datei habe ich oben auch "using System.Runtime.Remoting" enfernt, das das ICertificatePolicy Interface enthält. Der Fehler mit dem ICertificatePolicy ist danach weg, aber dafür erscheinen neue. Zuerst waren es noch mehr als nachstehend angezeigt, aber es geht immer um das gleiche. Code: Fehler beim Buildvorgang. Diese Dateien werden automatsch in die obj/Debug Verzeichnisse kopiert und sehen so aus: Code: // <autogenerated /> Zuerst habe ich die .csproj Dateien angepasst und in der Sektion <ItemGroup> einfach mal die folgenden Zeilen rausgeschmissen: Code: <Compile Include="obj\Debug\.NETCoreApp,Version=v6.0.AssemblyAttributes.cs"> Gleichzeitig habe ich in dieser Datei, wo vorhanden, die Referenz auf System.Runtime.Remoting entfernt. Nachdem ich das überall gemacht habe, die obj-Verzeichnisse gelöschst hatte und fehlerhafte Referenzen auf die Assemblies in den Dependencies entfernt hatte, konnte ich das Modul unter Visual Studio 2022 fehlerfrei builden. Anschliessend machte ich aus Befehlszeilenebene ein runprebuild.bat, gefolgt von einem compile.bat und meine Bemühungen waren natürlich wieder dahin Ich musste natürlich auch noch die prebuild-blahblablah.xml Dateien der drei Module bereinigen. Jetzt war es besser, aber immer noch nicht gut. Ich erhalte immer noch den oben gezeigten Fehler und weiss nicht warum, oder wie ich verhindern kann, dass diese Datei generiert wird. Ich kann aber das Projekt im Visual Studio 2022 öffnen, die drei obj-Verzeichnise löschen und aus Visual Studio das Projekt neu builden. Das funktioniert. Getestet habe ich soweit aber gar nichts. Ich hoffe mal, dass ich hiermit einen kleinen Beitrag leisten konnte der in eine Richtung zeigt, wie du den Money-Server vielleicht doch noch zum laufen kriegst. RE: OpenSimulator vom Manni - Manfred Aabye - 10.04.2023 Kopiere die Dateien von OpenSimCurrencyServer-2023 über die OpenSimCurrencyServer-2021 dann haste die meisten Fehler weg da die xml und AssemblyInfo.cs Dateien schon umgestellt sind auf dotnet 6. .NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0 (darf nichts mehr von angegeben werden) Das schlimme ist ich habe das schon mehrfach fehlerfrei kompiliert, aber inworld funktionierte das ganze nicht. Die schlimmsten Fehler sind die, die nicht angezeigt werden. RE: OpenSimulator vom Manni - Pius Noel - 11.04.2023 Ich habe es natürlich genau so, wie von dir auf Github beschrieben, gemacht. Die Fehler bekam ich trotzdem. Und ja, ich befürchte auch, dass es in-world auch dann noch nicht funktioniert, wenn das Kompilieren fehlerfrei durchläuft. Getestet habe ich noch gar nichts, weil ich in meiner Windows 10 Umgebung, wo ich Visual Studio 2022 habe, nur eine lokale Umgebung und auch kein PHP habe. Meinen letzten Windows Server hatte ich um 2015 bei Contabo RE: OpenSimulator vom Manni - Pius Noel - 11.04.2023 Jetzt hab ich gerade den Durchblick verloren. Unter Linux kenne ich mich ein bisschen besser aus und habe deshalb vom Verzeichnis mit den addon-modules mit meinen Anpassungen ein Git Repo erstellt und in ein Linux Testsystem gezügelt. Wenn ich jetzt im opensim-Verzeichnis ./runprebuild.sh gefolgt von ./compile.sh ausführe, bekomme ich immer noch den gleichen Fehler. Wenn ich aber jedesmal vor dem ./runprebuild.sh zuerst ein ./runprebuild clean ausführe, dann läuft der ./compile.sh fehlerfrei durch und die MoneyServer.dll befindet sich im opensim/bin-Verzeichnis. RE: OpenSimulator vom Manni - Manfred Aabye - 11.04.2023 Der MoneyServer läuft bei mir auf Ubuntu Server 22.04. Ich benutze zum Editieren zwar auch Visual Studio 2022 unter Windows 10, aber laufen tut das nur unter Linux bei mir. Ich habe heute ein 2. Grid erstellt, damit ich besser Testen kann. Ich habe mit Vorschlaghammer und Kettensäge das ganze Zertifikationszeug herausgeworfen. Es kompiliert ohne Fehler auf Ubuntu und startet auch fehlerfrei, aber es gibt kein Kontakt zur Region. So mache ich das: PHP-Code: #Quellcode abrufen Ich starte alles im Ordner opensim wo ich das auch kompiliert habe. Dazu hab ich 3 Konsolen offen wo ich die Kommunikation zwischen Robust, Money und OpenSim nachverfolgen kann. RE: OpenSimulator vom Manni - Pius Noel - 11.04.2023 Bei mir laufen Prebuild und Compile jetzt sauber Ich habe mir mir einem kleinen Trick beholfen und erst jetzt im Nachhinein bemerkt, dass es OpenSim auch nicht anders macht. Damit der Compiler diese CS-Dateien nicht mitkompiliert habe ich in den prebuild-blahblablah.xml Dateien am Ende die obj-Verzeichnisse ausgeschlossen. Irgendwie sieht es so aus, als ob sie gar nicht benötigt werden. Nicht ganz elegant, aber es scheint zu funktionieren. Code: <Files> Ob alles funzt weiss ich noch nicht, da ich jetzt zwar ein PHP installert habe, aber das zuerst noch zum laufen kriegen muss. Ich werde jetzt zuerst mal ein bisschen aufräumen und meine Dateien später auf Github stellen, wo du sie dann abholen kannst. Den Link werde ich hier posten, sobald ich soweit bin. RE: OpenSimulator vom Manni - Pius Noel - 11.04.2023 Ich habe meine Dateien mal auf Github reingestellt. Ich werde sie in ein paar Tagen wieder entfernen. Du kannst die drei Verzeichnise aus dem addon-modules Verzeichnis einfach in das opensim/addon-modules Verzeichnis kopieren. Anschliessend ganz normal ./runprebuild.sh und ./compile.sh ausführen. Es sollte fehlerfrei durchlaufen. |