Projekt

Obecné

Profil

Akce

Task #5803

uzavřený

Task #5122: Vývoj

Task #5123: Vývoj webové aplikace

Překlad C# do JavaScriptu na serveru s Linux

Přidáno uživatelem Václav Mareš před asi 7 roky(ů). Aktualizováno před téměř 7 roky(ů).

Stav:
Closed
Priorita:
Normal
Přiřazeno:
Miroslav Liška
Cílová verze:
Začátek:
2017-05-08
Uzavřít do:
2017-05-28
% Hotovo:

100%

Odhadovaná doba:
8.00hod
Tags:

Popis

Překlad C# do JavaScriptu na serveru s Linux

Aktualizováno uživatelem Václav Mareš před téměř 7 roky(ů)

  • Přiřazeno změněn z Jan Kebrle na Miroslav Liška

Aktualizováno uživatelem Miroslav Liška před téměř 7 roky(ů)

  • % Hotovo změněn z 0 na 30

Pro překlad bude využit compiler Bridge.NET.

Vypadá to, že neumí zkompilovat pouze jeden soubor. Soubor musí být součástí projektu. Bude tedy potřeba vytvořit vždy projekt, vložit do něj soubor, který je potřeba přeložit. Výsledek pak přečíst a vrátit ke klientovi.

Pro spuštění budeme potřebovat mít rozběhané mono v produkčním prostředí.

Projekt se kompiluje následovně: bridge.exe "CESTA K .CSPROJ"

V adresáři s .csproj musí být i soubor bridge.json. V tom se nastavují další parametry.
Bohužel se mi zatím nepodařilo projekt zkompilovat. Psal jsem na podporu tohoto nástroje. Čekám na výsledek.

Jakmile se rozchodí tento nástroj, bude překlad snadný.

Aktualizováno uživatelem Miroslav Liška před téměř 7 roky(ů)

  • Odhadovaná doba nastaven na 8.00hod

Aktualizováno uživatelem Miroslav Liška před téměř 7 roky(ů)

  • % Hotovo změněn z 30 na 50

Začínám být na dobré cestě.

Na linuxu je potřeba mít nainstalované mono včetně překladače mcs.

Pak je možné přeložit soubory jako knihovnu a to:

mcs -t:library hello.cs

Výsledkem je hello.dll, se kterým by si měl Bridge.NET poradit. DLL odzkoušeno na windows.

Aktualizováno uživatelem Václav Mareš před téměř 7 roky(ů)

  • Uzavřít do změněn z 2017-05-14 na 2017-05-28

Posun do 5. iterace z důvodů časové tísně.

Aktualizováno uživatelem Václav Mareš před téměř 7 roky(ů)

  • Cílová verze změněn z 4. Iterace na 5. Iterace

Aktualizováno uživatelem Miroslav Liška před téměř 7 roky(ů)

  • % Hotovo změněn z 50 na 80

Vyřešení problému je na spadnutí. Scripty pro překlad jak pro linux tak php jsou připravané. Aktuálně bojuji s právy v linuxu. Jakmile se vyřeší, bude úkol splněn

Aktualizováno uživatelem Miroslav Liška před téměř 7 roky(ů)

Pro převod C# kódu na javascript je na Linuxu potřeba nástroje mono, neboť překladač je psán pro systém Windows. Od autorů překladače bylo zjištěno, že je potřebná verze vyšší než 3.2.8 a zároveň menší než 5.0.0.

Administrátor produkčního prostředí nám je schopen poskytnout verze:
  • 5.0.0.100-0xamarin4+debian8b1
  • 3.2.8+dfsg-10

Obě verze jsou pro nás nevyhovující. Proto je potřeba si stáhnout zdrojové kódy verze mono, které potřebujeme (4.0.5.1) a zbuildit si ho sami.
Překlad byl problematický, až cca 8 pokus se zdařil. Jednotlivé buildy jsou velmi zdlouhavé, proto takové zdržení.

Návod na instalaci mono

Mono není v produkčním prostředí nainstalováno, neboť je potřeba více než 1.5 GB. To přesahuje diskovou kvótu nám přidělenou.

Aktualizováno uživatelem Miroslav Liška před téměř 7 roky(ů)

  • % Hotovo změněn z 80 na 90

Produkční prostředí je připraveno na překlad kódu.

Aktualizováno uživatelem Miroslav Liška před téměř 7 roky(ů)

  • Stav změněn z Assigned na Resolved
  • % Hotovo změněn z 90 na 100

Překlad dokončen a nasazen

Aktualizováno uživatelem Václav Mareš před téměř 7 roky(ů)

  • Stav změněn z Resolved na Closed
Akce

Také k dispozici: Atom PDF