When strongly naming project, the Visual Studio default behavior is to copy the source key file into each and every individual project. This might not be ideal in all cases as you may want to be able to change strong name keys across all the projects at a future time.
Fortunately, there is a workaround using the linked files trick.
First, create your *.snk file in the solution directory. If the project is under source control, be sure to add the *.snk file as a solution file to the solution node in Visual Studio. You can do this by right-clicking on the solution node in the Solution Explorer tool window, choosing "Add Existing Item…" and selecting the *.snk file.
Then, in each project you wish to sign, right-click on the project node and choose Add > "Existing Item…" Browse to and select your *.snk file, but here's the twist. Instead of just clicking Add, use the dropdown arrow on the right side of the Add button and select Add as Link. This adds a reference to the original file location without copying it locally. At compile time, linked files are treated as local (to the project) files.
Finally, right-click on the project and choose Properties. Navigate to the Signing tab, check the "Sign the assembly" checkbox, and from the dropdown list, select the fully-qualified name (FQN) that is displayed. Then type Ctrl+Shift+S (Save All) to save. The important thing to remember here is that even though the FQN was displayed in the dropdown, a relative path is stored in the *.*proj file.
If you would like to validate that the relative path is stored, you can right-click on the project node, choose "Unload Project", right-click again, and choose Edit… In the first PropertyGroup, there is a node named AssemblyOriginatorKeyFile. You will see it is set to a relative path.
Hope this helps