Ao digitar a pergunta, encontrei a causa do problema.
Embora eu não tenha alterado nenhuma configuração do Visual Studio ontem, o que fiz foi adicionar uma variável de ambiente chamada PROJECTDIR
que apontava para o diretório de projetos do Visual Studio 2010. O script deve ter acessado essa variável em vez de sua própria. Depois de renomear a variável de ambiente, o Visual Studio é capaz de carregar os projetos novamente.
Essa é a razão pela qual a Fakes tentou configurar seu diretório intermediário no meu diretório Documents\Visual Studio 2010\Projects
, em vez de em um subdiretório do projeto real. Em retrospectiva, parece óbvio, mas na época eu simplesmente não fazia a conexão entre uma variável de ambiente do sistema e uma variável usada por um script "alvos".
Ainda estou postando isso aqui porque esse tipo de interação costuma ser difícil de detectar, e talvez esse post possa trazer alguns problemas para alguém no futuro.