SqlAssembly.Create is a poor implementation
SqlAssembly.Create will receive a path at the server, that as the documentation states: can be a network share. Now in areal-world scenario, I am creating a database on a separate server using SMO. When I try to register my managed code what am I supposed to do?
Get the user to call an administrator to copy the path into the server?
Somehow, find out the Identity for SQL Server and create a temporary share so that the SQL service can access the assembly?
Why isn't there a function that receives the Binary assembly data and persists the assembly on a Temporary location so that you can upload it into SQL.

