The question asked was for VB.Net while the answer given in Modifying application settings in unit tests is for C#. As I had the same question for VB.Net I thought I'd give a VB.Net version of the answer here. Based on the C# answer I got this to work in my project (using Visual Studio 2013) with the following:
The test project should be correctly set up as a unit test for the application under test ("Create and run unit tests" should help in setting it up correctly)
using the fully qualified namespace of the application under test myprojects_namespace.My.settings
will give you full (intellisense powered) access to the user settings of the application under test.
After that you can read / write to the user settings as you would normally do.
e.g.
myprojects_namespace.My.settings.someProperty = "somevalue"
Assert.AreEqual("somevalue", myprojects_namespace.My.settings.someProperty)
P.S.: I didn't need to add anything in my AssemblyInfo.vb
file. There is no reference to System.Runtime.CompilerServices.InternalsVisibleTo
as this seems to already have been handled by setting up the unit test project correctly for the application under test.