【发布时间】:2011-09-15 18:13:02
【问题描述】:
我正在尝试从 VS2008 迁移到 VS2010,并且还想将网站升级到 .NET 4.0。我已经复制了源代码并运行了转换向导,没有任何错误。也没有编译错误。但是,当页面加载时,我得到了异常:
System.NotSupportedException was unhandled by user code
Message=The invoked member is not supported in a dynamic assembly.
Source=mscorlib
StackTrace:
at System.Reflection.Emit.InternalAssemblyBuilder.get_Location()
at CoreLab.Common.o.a(Assembly A_0)
at CoreLab.Common.v.a(LicenseContext A_0, Type A_1, String& A_2, String& A_3, String& A_4)
at CoreLab.Common.v.a(LicenseContext A_0, Type A_1, String& A_2, Boolean& A_3, String& A_4, String& A_5)
at CoreLab.Common.v.a(LicenseContext A_0, Type A_1, Boolean A_2)
at CoreLab.Oracle.OracleProviderFactory.CreateConnection()
at System.Data.EntityClient.EntityConnection.GetStoreConnection(DbProviderFactory factory)
at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
at System.Data.EntityClient.EntityConnection..ctor(String connectionString)
at System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString)
at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
at VZW.TrainingPortfolioManager.Entity.TPMEntities..ctor(String connectionString) in C:\TPM_NET4\Entity\TPMEntities.Designer.cs:line 114
at VZW.TrainingPortfolioManager.Website.Global.Session_Start(Object sender, EventArgs e) in C:\TPM_NET4\Website\Global.asax.cs:line 110
at System.Web.SessionState.SessionStateModule.RaiseOnStart(EventArgs e)
at System.Web.SessionState.SessionStateModule.CompleteAcquireState()
at System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source, EventArgs e, AsyncCallback cb, Object extraData)
at System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
InnerException:
错误发生在 ADO.NET 实体框架在构造函数中自动生成的代码中:
/// <summary>
/// Initialize a new TPMEntities object.
/// </summary>
public TPMEntities(string connectionString) : base(connectionString, "TPMEntities")
{
OnContextCreated();
}
调用基础构造函数时发生异常。
.NET 4.0 的实体框架中是否有一些更改需要我做一些不同的事情或改变任何事情?我在这里几乎不知所措。谢谢!
【问题讨论】:
-
这是一个非常普遍的错误。你使用什么命名空间?
-
这是
CoreLab.Common中的一个错误;他们需要检查程序集是否不是动态的。 -
@George - 是的,我也确实看过那篇文章。我尝试在连接字符串中完全限定程序集,但没有任何区别。
-
CoreLab 是 Oracle 的 ADO.NET 提供程序的名称... IIRC 他们在很长一段时间(V 5 发布时的 2 或 3 年)之前将其重命名为 Devart... Devart 组件目前是 V 6.5(即使与 CTP 也有非常好的 EF 和 Linq 集成)-您使用的是哪个版本?
标签: c# .net asp.net entity-framework entity-framework-4