microsoft / microsoft/node-api-dotnet
C# AOT compilation not setting "dotnet" to undefined
Nessuno ha ancora preso questa issue.
- Lingua principale
- C#
- Stelle
- 783
- Fork
- 80
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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!
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia in NodeApi.targets e ispeziona l’attività inline che riscrive il loader JavaScript generato. Riproduci una compilazione AOT e controlla che nel loader risultante sia presente la forma di importazione netX.X mostrata nell’issue. Il lavoro è completato quando l’output AOT usa const dotnet = undefined; invece di importare node-api-dotnet/netX.X.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp
- Ambito
- build-system
- Tipo di issue
- Bug
- Difficoltà
- 1/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Tranquilla
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 88/100