You don’t have to use signed assemblies to use InternalsVisibleTo. If you don’t use signed assemblies, you can just enter the full name of the assembly.
So if you want to have access to MyAssembly in you test assembly (MyAssembly.Test) all you need in AssemblyInfo.cs for MyAssembly is the name of the test assembly like this:
[assembly: InternalsVisibleTo("CompanyName.Project.MyAssembly.Test")]