--
-- if assembly SomeTypes.dll uses assembly SomeCommonTypes.dll
-- this will catalog SomeCommonTypes as well
--
CREATE ASSEMBLY SomeTypes
FROM '\\mysvr\types\SomeTypes.dll'
GO
-- Let Fred access SomeTypes
GRANT EXECUTE ON SomeTypes To FRED
GO

-- Fred will need direct access to SomeCommonTypes
-- error: SomeCommonTypes does not exist in the SQL Server catalog
GRANT EXECUTE ON SomeCommonTypes TO FRED
GO

-- this makes it visible
ALTER ASSEMBLY SomeCommonTypes
FROM '\\mysvr\types\SomeCommonTypes.dll'
SET VISIBILITY = ON
GO

-- this gives FRED access
GRANT EXECUTE ON SomeCommonTypes TO FRED
GO