From 34546dd3c99f4325991516860a6557d2c61cc541 Mon Sep 17 00:00:00 2001 From: Sebastian Osterbrink <98385418+SOsterbrink@users.noreply.github.com> Date: Mon, 1 Jul 2024 14:09:37 +0200 Subject: [PATCH] 259 error could not load file or assembly presentationframework on tlbexport regression in 160 (#260) * fix: moved namespace check to a later position * fix: Added code example reproduces #259 before the bugfix * chore: fixed code style warning in demo class --- src/dscom.demo/assembly5/ExplodeyBaseClass.cs | 4 ++++ src/dscom/writer/LibraryWriter.cs | 11 ++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/dscom.demo/assembly5/ExplodeyBaseClass.cs b/src/dscom.demo/assembly5/ExplodeyBaseClass.cs index 1b7e75b..fa15457 100644 --- a/src/dscom.demo/assembly5/ExplodeyBaseClass.cs +++ b/src/dscom.demo/assembly5/ExplodeyBaseClass.cs @@ -4,4 +4,8 @@ namespace dSPACE.Runtime.InteropServices.DemoAssembly5; public class ExplodeyBaseClass : UserControl { + private sealed class PrivateImplementationDetails + { + // required to reproduce #259 + } } diff --git a/src/dscom/writer/LibraryWriter.cs b/src/dscom/writer/LibraryWriter.cs index 1044ca8..a6b13ec 100644 --- a/src/dscom/writer/LibraryWriter.cs +++ b/src/dscom/writer/LibraryWriter.cs @@ -97,11 +97,6 @@ private void CollectAllTypes() foreach (var type in types) { - if (type == null || type.Namespace is null) - { - continue; - } - var comVisibleAttribute = type.GetCustomAttribute(); if (typesAreVisibleForComByDefault && comVisibleAttribute != null && !comVisibleAttribute.Value) @@ -114,11 +109,17 @@ private void CollectAllTypes() continue; } + if (!type.IsPublic && !type.IsNestedPublic) { continue; } + if (type.Namespace is null) + { + continue; + } + if (type.IsGenericType) { continue;