microsoft / node-api-dotnet

Advanced interoperability between .NET and JavaScript in the same process.
MIT License
426 stars 49 forks source link

NullReferenceException while generating public static string[] Get() method #279

Closed alexeybut closed 2 months ago

alexeybut commented 2 months ago

Hello, The next error occurs while generating node module for the sample code. The code:

[assembly: JSExport]
namespace Console1
{
    public class Document
    {
        public static string[] GetString()
        {
            throw new NotImplementedException();
        }
    }
}

The error:

CSC : error NAPI1001: NullReferenceException : Object reference not set to an instance of an object.   at Microsoft.JavaScript.NodeApi.Generator.SourceGenerator.GetNamespace(ISymbol symbol)   at Microsoft.JavaScript.NodeApi.Generator.SourceGenerator.GetFullName(ISymbol symbol)   at Microsoft.JavaScript.NodeApi.Generator.ModuleGenerator.IsMethodCallbackAdapterRequired(IMethodSymbol method)   at Microsoft.JavaScript.NodeApi.Generator.ModuleGenerator.ExportMethod(SourceBuilder& s, IEnumerable`1 methods, String exportName)   at Microsoft.JavaScript.NodeApi.Generator.ModuleGenerator.ExportMembers(SourceBuilder& s, ITypeSymbol type)   at Microsoft.JavaScript.NodeApi.Generator.ModuleGenerator.ExportType(SourceBuilder& s, ITypeSymbol type, String exportName)   at Microsoft.JavaScript.NodeApi.Generator.ModuleGenerator.ExportModule(SourceBuilder& s, ITypeSymbol moduleType, IEnumerable`1 exportItems)   at Microsoft.JavaScript.NodeApi.Generator.ModuleGenerator.GenerateModuleInitializer(ISymbol moduleInitializer, IEnumerable`1 exportItems)   at Microsoft.JavaScript.NodeApi.Generator.ModuleGenerator.Execute(GeneratorExecutionContext context) [ConsoleApp1.csproj]

Version: 0.7.5 Command:

dotnet build-server shutdown
dotnet publish -c Release -r win-x64 -f net8.0

AOT is enabled.

jasongin commented 2 months ago

Duplicate of #276. Already fixed in version 0.7.6.