System.MissingMethodException未被用户代码
处理 HResult = -2146233069消息=未找到方法: “System.Data.Entity.ModelConfiguration.Configuration.PrimitivePropertyConfiguration System.Data.Entity.ModelConfiguration.Configuration.StructuralTypeConfiguration1.Property(System.Linq.Expressions.Expression
12<!0,!! 0 GT;&GT)”。 Source = Att.Uds.DataLayerMappings StackTrace: at Att.Uds.DataLayerMappings.ItemTypeItemConfiguration..ctor() 在Att.Uds.DataLayerMappings.UdsContext.OnModelCreating(DbModelBuilder) modelBuilder) C:\ TFS \ ATS-MSDEV \ UDS \开发\代码\ Att.Uds.DataLayerMappings \ UdsContext.cs:线 163 在System.Data.Entity.DbContext.CallOnModelCreating(DbModelBuilder) 模型构建器) 在System.Data.Entity.Internal.LazyInternalContext.CreateModelBuilder() 在System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext) internalContext) 在System.Data.Entity.Internal.RetryLazy2.GetValue(TInput输入)InnerException:
此课程出现错误:
namespace Contoso.Fabrikam.DataLayerMappings
{
public abstract class NamedEntityConfiguration<TEntity> : EntityBaseConfiguration<TEntity> where TEntity : NamedEntity
{
public ConfigurationColumn NameColumn;
protected new int LastOrdinalPosition
{
get
{
return (NameColumn.Ordinal);
}
}
public NamedEntityConfiguration() <=== EXCEPTION HERE
{
NameColumn = new ConfigurationColumn() { Ordinal = base.LastOrdinalPosition+1, Name = "Name", IsRequired = true, Length = 128 };
this.Property(t => t.Name)
.HasColumnName(NameColumn.Name)
.HasColumnOrder(NameColumn.Ordinal)
.HasMaxLength(NameColumn.Length);
if(NameColumn.IsRequired)
{
this.Property(t => t.Name).IsRequired();
}
}
}
}
谢谢
答案 0 :(得分:7)
@Saber他的答案之所以有效是因为当您将项目升级到更高的.NET版本时,项目文件不会自动升级。例如,如果从.NET 4.0升级到.NET 4.5并编辑项目文件,则可能会看到以下内容:
<Reference Include="EntityFramework">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net40\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net40\EntityFramework.SqlServer.dll</HintPath>
</Reference>
您必须将引用更改为 net45 ,而不是 net40 。删除包时,这将产生相同的行为。
答案 1 :(得分:6)
我遇到了同样的错误。 它对我有用:
答案 2 :(得分:0)
在我的情况下,我不得不从这个文件夹中删除EntityFramework.dll:
C:\的Windows \ Microsoft.NET \组件\ GAC_MSIL \的EntityFramework