microsoft / microsoft/node-api-dotnet
C# AOT compilation not setting "dotnet" to undefined
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C#
- Sterne
- 783
- Forks
- 80
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Hello,
When compiling the module as AOT module then the resulting js module loaders is incorrect because:
import dotnet from 'node-api-dotnet/net10.0';
should have been:
const dotnet = undefined;
Poking around in the source code the problem is in NodeApi.targets which does:
<Task>
<Using Namespace="System.IO" />
<Code Type="Fragment" Language="cs">
<![CDATA[
string js = File.ReadAllText(TargetFile);
js = js.Replace("const dotnet = require('node-api-dotnet');", "const dotnet = undefined;");
js = js.Replace("import dotnet from 'node-api-dotnet';", "const dotnet = undefined;");
if (!IncludeRidSubpath) js = js.Replace("rid, ", "");
File.WriteAllText(TargetFile, js);
]]>
</Code>
</Task>
but it should now replace "node-api-dotnet/netX.X" instead of just "node-api-dotnet"
Thanks!
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne in NodeApi.targets und untersuche die Inline-Task, die den generierten JavaScript-Loader umschreibt. Führe eine AOT-Kompilierung durch und prüfe den resultierenden Loader auf die im Issue gezeigte Importform netX.X. Erledigt ist es, wenn die AOT-Ausgabe const dotnet = undefined; verwendet, anstatt node-api-dotnet/netX.X zu importieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp
- Bereich
- build-system
- Issue-Typ
- Bug
- Schwierigkeit
- 1/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 88/100