Я получаю "Указанный приведение недействителен", действительный при выполнении только сборки релиза из MSBuild 4.0. Я проверил это в использовании сборки релиза Visual Studio 2012 и не получил эту проблему. Я также проверил это с помощью отладочной сборки из MSBuild 4.0 и не получил эту проблему.
Исключение: 
код
    public abstract class CachedSessionBase : ISessionObject
{
    protected Dictionary<MethodBase, Object> _getAndSetCache = new Dictionary<MethodBase, object>();
    protected TResult SetAndGet<TResult>(ObjectFactory factory, Func<TResult> func)
    {
        StackTrace stackTrace = new StackTrace();
        var methodBase = stackTrace.GetFrame(1).GetMethod();
        if (!_getAndSetCache.ContainsKey(methodBase))
        {
            _getAndSetCache[methodBase] = func.Invoke();
        }
        return (TResult)_getAndSetCache[methodBase];
    }
Ошибка в этой строке
return (TResult)_getAndSetCache[methodBase];
