ArchUnitNET
ArchUnitNET copied to clipboard
ResidesInAssembly loading System.*
When verifying types from assemblies, the base types are being considered
IArchRule rule = Types()
.That().ResideInAssembly(_DOMAIN_ASSEMBLY)
.Should().NotDependOnAnyTypesThat().ResideInAssembly(_API_ASSEMBLY);
_ARCHITECTURE.CheckRule(rule);
Expected: Success because there is no reference between the projects
Actual:
ArchUnitNET.xUnit.FailedArchRuleException : "Types that reside in assembly "Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" should not depend on any types that reside in assembly "Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"" failed:
Domain.MyClass1 does depend on System.Runtime.CompilerServices.IsReadOnlyAttribute and System.IEquatable`1 and System.TimeSpan and System.TimeSpan& and System.Boolean and System.String and System.Object and System.Int32 and System.Collections.Generic.EqualityComparer`1
Same thing for the opposite rule with DependOnAnyTypesThat(). BCL and FCL types should not be taken into consideration since they are no declared in the given assembly
Hi @AdrianoAE, this seems to be a bug where types are assigned the wrong origin assembly. I've created #312 which I'd expect to solve your issue. Would be great if you'd be able to test this once we've merged it.
Hi @AdrianoAE, we've just published version 0.11.3-preview.1. Would you be able to check whether this fixes your issue? Otherwise, an example that reproduces your specific issue would be necessary.
Hello, I'm sorry at the time I just rewrote my code to use Roslyn so do not have the original code anymore