S7NetPlus / s7netplus

S7.NET+ -- A .NET library to connect to Siemens Step7 devices
MIT License
1.34k stars 593 forks source link

.Net8 AOT feature #545

Closed ypeng-ming closed 1 month ago

ypeng-ming commented 1 month ago

Hello, Is it possible to compile s7netplus with .Net8 AOT feature? Cause I hear AOT feature can't be compatible with Reflection.

I see some "System.Reflection" is used in project like "var properties = GetAccessableProperties(instance.GetType());", so I guess I can't using AOT feature, Am I right?

gfoidl commented 1 month ago

AOT isn't officially supported by S7NetPlus at the moment.

When you don't use class or struct it could / should work with AOT, but as said not officially supported. I mean you can try it out, and if there are troubles it would be great when these are reported (here or in another issue), so we can address these.

A similar project (from one of the maintainers here) is Sally7. While also not officially supporting AOT it should just work, when my memory serves well.

ypeng-ming commented 1 month ago

AOT isn't officially supported by S7NetPlus at the moment.

When you don't use class or struct it could / should work with AOT, but as said not officially supported. I mean you can try it out, and if there are troubles it would be great when these are reported (here or in another issue), so we can address these.

A similar project (from one of the maintainers here) is Sally7. While also not officially supporting AOT it should just work, when my memory serves well.

Ok, Thanks for your answer, use class or struct it very powerful, but sometimes, WriteMultipleVariable function is alse very convenient. I would like to try to make this AOT feature available, I'm reading and learn this project, I wish I could get it done. A star a given to your sally7 project~