Once an assembly has been loaded into the visual studio environment, it doesn't load a new version of it. So if you've previously loaded that assembly prior to creating your custom trace listener and building it, it uses that version and thus,
can't find your custom trace listener. I'm not sure if it's a bug in Visual Studio or considered as an expected behavior.