ShimNotSupportedException no MS VisualStudio 2012

Estou apenas tentando me familiarizar com o novo Fakes Isolation Framework no Visual Studio 2012 RC, mas estou, consequentemente, enfrentando problemas comShimNotSupportedExceptions.
Nas primeiras tentativas, cada método de shim único tentei ligar um delegado para, tinha jogado umShimNotSupportedException ao tentar executar / depurar o teste.

[TestMethod]
public void GetFoo_ValidBar_ReturnsBaz()
{
    using(ShimsContext.Create())
    {
        ShimDateTime.NowGet = () => new DateTime(2012,08,11,10,20,59);

        const string expected = "20120811_102059";
        string actual = GetFoo();

        Assert.AreEqual(expected,actual);
    }
} 

Este é o rastreio de pilha correspondente:

O método de teste GetFoo_ValidBar_ReturnsBaz emitiu uma exceção: Microsoft.QualityTools.Testing.Fakes.Shims.ShimNotSupportedException: System.DateTime em Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.InvokeEvent (valor T, Action1 eh) em Microsoft.QualityTools. Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.OnAttachedUnsupportedMethod (MethodBase method) em Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.CheckInstrumentation (MethodBase method) em Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.InternalAttachDetour (Object optionalReceiver, MethodBase método, Delegate detourDelegate) em Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.AttachDetour (Objeto optionalReceiver, MethodBase método, Delegate detourDelegate) em Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShimMethod (Delegate optionalStub, Object optionalReceiver, Método MethodBase) em Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShim (Delegar opcionalStub, Tipo de receptorTipo, Objeto opcionalReceptor, Nome da seqüência de caracteres, Sinalizadores de ShimBinding, Tipo de returnType, Tipo [] parameterTypes) em Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime .SetShimPublicStatic (Delegate optionalStub, Tipo receiverType, String name, Tipo returnType, Type [] parameterTypes) em System.Fakes.ShimDateTime.set_NowGet (Func'1 value) em GetFoo_ValidBar_ReturnsBaz () em BazTests.cs: linha 48.

Depois de ter lido os dois tópicos que eu encontrei no MSDN lidando com este problema eu segui as instruções deles (desligando o CodeCoverage, apagando o arquivo .testsettings) que não funcionou para mim!
No entanto, encontrei uma solução alternativa para esse problema:
Em primeiro lugar, executando todos os testes do Test Explorer (em vez de usar o botão "MSTest Test (clique para executar)" diretamente fora da área de codificação) tudo funcionou corretamente e nenhuma exceção foi lançada. Depois, eu poderia até mesmo depurar o teste e a atribuição ao método shim funcionava exatamente como esperado.
Isso funcionou para todos os calços seguintes que usei também.
Mas agora estou tendo o mesmo problema novamente ao tentar implementar falsificações da MS Enterprise Library para acesso ao banco de dados.

É assim que o teste se parece:

[TestMethod]
public void GetFooFromEF_NonEmptyDataReader_ObjectsCorrectlyInstantiated()
{
    using(ShimsContext.Create()){
        var dataReader = new StubIDataReader()
            {
                ItemGetString = s => 1,
                DepthGet = () => 2
            };

        ShimFoo.GetBar = guid => dataReader;

        var bar = new StubIBar()
        {
            ConvertIBarToBaz = record => null
        };

        ShimQux.AllInstances.GetBar = (a, b) => bar;

        var dbFactory = new StubDbProviderFactory();
        var db = new StubDatabase("test", dbFactory);
        ShimDatabaseFactory.CreateDatabaseString = s => db;

        List<BarInformation> actual = accessor.InvokeStatic("GetBar",
                                                                new Object[] { }) as List<BarInformation>;
        Assert.IsTrue(true);
    }
}

As duas primeiras atribuições de correção (ShimFoo e ShimQux) estão funcionando conforme o esperado. Mas ShimDatabaseFactory.CreateDatabaseString (que deve fazer com que DatabaseFactory.CreateDatabase (string) retorne um banco de dados stub ao tentar criar uma nova instância de banco de dados) lança novamente um ShimNotSupportedException. E eu não consigo descobrir o porquê!
Você tem alguma idéia do que deu errado aqui?

Eu apreciaria qualquer informação sobre isso.

Obrigado,
Benjamin

questionAnswers(3)

yourAnswerToTheQuestion