当仅从 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];