I have a project that I publish as MyNuget package in a local feed. The project references a ThirdPartyNuget that has ThirdPartyExtensions
public static class with public extension methods over IQueryable
.
Now, in my main solution I reference MyNuget and DO NOT reference ThirdPartyNuget. Still, Visual Studio 2022 shows the extensions methods from ThirdPartyExtensions
. Why?
I do not expect this as I consider ThirdPartyNuget the implementation detail of MyNuget.
The assemblies in ThirdPartyNuget are obfuscated and ThirdPartyExtensions
class looks weird as it has no namespace. Here is what I see in the debugger:
typeof(ThirdPartyExtensions).Name == typeof(ThirdPartyExtensions).FullName == "ThirdPartyExtensions"
typeof(ThirdPartyExtensions).Namespace == null
typeof(ThirdPartyExtensions).GUID == {00000000-0000-0000-0000-000000000000}
What's the mechanics of this behavior?
How do I hide the visibility of ThirdPartyExtensions
in my main solution?