Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
OpenSimulator vom Manni
#81
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.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



Zitieren
#82
(08.04.2023, 14:51)Manfred Aabye schrieb: Leider muss beim DTL/NSL Money Server die ICertificatePolicy für dotnet6 komplett ausgetauscht werden.
Das heißt, erst einmal wird Money mit dotnet6 nicht funktionieren.
:
Von mir teilweise vorbereitete Teile:
https://github.com/BigManzai/OpenSimCurrencyServer-2023
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?
[-] The following 1 user says Thank You to Pius Noel for this post:
  • Bogus Curry
Zitieren
#83
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
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



Zitieren
#84
Ich hab mir heute die Sache mal etwas genauer angeschaut. Um das mit den Mono.Addins vorweg zu nehmen, die funktionieren noch Wink

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.

CSC : warning CS2002: Quelldatei "C:\opensim-x\addon-modules\OpenSim-Data-MySQL-MySQLMoneyDataWrapper\obj\Release\.NETC
oreApp,Version=v6.0.AssemblyAttributes.cs" mehrmals angegeben. [C:\opensim-x\addon-modules\OpenSim-Data-MySQL-MySQLMoneyDataWrapper\OpenSim.Data.MySQL.MySQLMoneyDataWrapper.csproj]

C:\opensim-x\addon-modules\OpenSim-Data-MySQL-MySQLMoneyDataWrapper\obj\Release\.NETCoreApp,Version=v6.0.AssemblyAttrib
utes.cs(4,12): error CS0579: Doppeltes Attribut global::System.Runtime.Versioning.TargetFrameworkAttribute". [C:\opens
im-x\addon-modules\OpenSim-Data-MySQL-MySQLMoneyDataWrapper\OpenSim.Data.MySQL.MySQLMoneyDataWrapper.csproj]
   1 Warnung(en)
   1 Fehler

Diese Dateien werden automatsch in die obj/Debug Verzeichnisse kopiert und sehen so aus:
Code:
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]

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">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="obj\Release\.NETCoreApp,Version=v6.0.AssemblyAttributes.cs">
      <SubType>Code</SubType>
    </Compile>

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 Sad

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.
Zitieren
#85
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.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



Zitieren
#86
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 Wink
[-] The following 1 user says Thank You to Pius Noel for this post:
  • Bogus Curry
Zitieren
#87
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.
[-] The following 1 user says Thank You to Pius Noel for this post:
  • Manfred Aabye
Zitieren
#88
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

#Holen oder aktualisieren Sie die Quelle von Git

git clone git://opensimulator.org/git/opensim opensim

Fügen Sie jetzt ihre addon-modules hinzusowie die Dateien aus dem /bin Verzeichnis.

#Wechseln Sie in den dotnet6 Zweig
cd opensim
git checkout dotnet6

#Erstellen Sie die Projektdateien, führen Sie Folgendes aus:

./runprebuild.sh

#dann starten sie:

dotnet build --configuration Release OpenSim.sln

#Zum starten müssen die Konfigurationen alle drin sein (MoneyServer.dll.config nicht vergessen).

dotnet Robust.dll
dotnet MoneyServer
.dll
dotnet OpenSim
.dll 

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.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



Zitieren
#89
Bei mir laufen Prebuild und Compile jetzt sauber Smile 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>
    <Match pattern="*.cs" recurse="true">
        <Exclude name="obj" pattern="obj"/>
         <Exclude name="Tests" pattern="Tests"/>
     </Match>
</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.
Zitieren
#90
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.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Neue OpenSimulator Konfigurationsdateien 0.9.2.2 Manfred Aabye 10 1.632 03.02.2023, 15:59
Letzter Beitrag: Manfred Aabye

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 5 Gast/Gäste