-
Notifications
You must be signed in to change notification settings - Fork 480
Closed
Description
PR #495 removed approx. half of all conditional compilation symbols, but a few are left. This issue is a follow-up to @jonorossi comment in said PR:
After this is merged we can talk through these, more definitely need to go.
As to how more of those symbols can be removed, I would need to take a closer look. Right now, I'm assuming the following:
| Conditional compilation symbol | Remarks |
|---|---|
FEATURE_SERIALIZATION |
Some serialization support was reintroduced in .NET Standard 2.0, e.g. all targeted platforms now support the [Serializable] attribute... but the binary serializer can't deal with e.g. Type nor delegates, so we can't easily enable this on .NET Core). But: This symbol is closely related to FEATURE_APPDOMAIN & FEATURE_ASSEMBLYBUILDER_SAVE, perhaps we could merge those into one. |
FEATURE_REMOTING |
We can remove this iff we decide to give up support for remoting / IsTransparentProxy checks / MarshalByRefObject. (Is this something that's still used these days? For which types? I don't know.) |
FEATURE_EVENTLOG |
We can remove this iff we deprecate Castle.Core.Logging.DiagnosticsLogger, which logs to Windows' event log. |
FEATURE_SYSTEM_CONFIGURATION |
Tied to the facility in the Castle.Core.Resource namespace, which we could deprecate/remove. |
FEATURE_TEST_PEVERIFY |
Needed for now, but I'm wondering whether we could offload the location of a PEVerify binary into the build scripts / MSBuild files. It might be neat to set an environment variable PEVERIFY to the PEVerify binary's location. (Setting an environment variable in an MSBuild project file might be non-trivial, but perhaps it can be done.) |
FEATURE_TEST_COM |
.NET Core has some nominal COM support. It may not support functionality tied to CoCreateInstance, but AFAIK it does support COM interop and the COM attributes. So it may be possible to reduce usage of this attribute. |
Metadata
Metadata
Assignees
Labels
No labels