public void RetargetableFlagSet(bool strictMode) { string syntax = @" using System.Reflection; [assembly: AssemblyFlags(AssemblyNameFlags.Retargetable)] "; // Emitting the assembly to a physical location to workaround: // https://github.com/dotnet/roslyn/issues/54836 string leftAssembly = SymbolFactory.EmitAssemblyFromSyntax(syntax, publicKey: _publicKey); string rightAssembly = SymbolFactory.EmitAssemblyFromSyntax(syntax); IAssemblySymbol leftSymbol = new AssemblySymbolLoader().LoadAssembly(leftAssembly); IAssemblySymbol rightSymbol = new AssemblySymbolLoader().LoadAssembly(rightAssembly); Assert.True(leftSymbol.Identity.IsRetargetable); Assert.True(rightSymbol.Identity.IsRetargetable); Assert.False(rightSymbol.Identity.HasPublicKey); Assert.Equal(_publicKey, leftSymbol.Identity.PublicKey); ApiComparer differ = new(); differ.StrictMode = strictMode; Assert.Empty(differ.GetDifferences(leftSymbol, rightSymbol)); }