Skip to content
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.

Generating native code with Grpc.Core #8360

Open
DenMpei opened this issue Oct 9, 2020 · 3 comments
Open

Generating native code with Grpc.Core #8360

DenMpei opened this issue Oct 9, 2020 · 3 comments

Comments

@DenMpei
Copy link

DenMpei commented Oct 9, 2020

Good day!

I hit the following issue:
dotnet publish -r win-x64 leads to numerous compilation errors

image

Inside the package is used Grpc.Core 2.28.1

image

Сompile with Microsoft.DotNet.ILCompiler 1.0.0-alpha-29408-02

Adding code from this issue doesn't help

I ask to give advice to solve the problem.
Regards.

@MichalStrehovsky
Copy link
Member

Adding code from this issue doesn't help

The attribute got renamed to UnmanagedCallersOnly. Try this definition:

[AttributeUsage(AttributeTargets.Method)]
public sealed class UnmanagedCallersOnlyAttribute : Attribute
{
public string EntryPoint;
public CallingConvention CallingConvention;
public UnmanagedCallersOnlyAttribute() { }
}

@DenMpei
Copy link
Author

DenMpei commented Oct 12, 2020

Didn't work :( I will try to provide a minimal version of the project. But it won't be soon, because reference on Grpc.Core is very deep in real project. :(

@MichalStrehovsky
Copy link
Member

Didn't work :( I will try to provide a minimal version of the project. But it won't be soon, because reference on Grpc.Core is very deep in real project. :(

Make sure you put the UnmanagedCallersOnlyAttribute-annotated method in the entrypoint assembly (whatever assembly is the main executable). The compiler doesn't look elsewhere.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants