Asp.net mvc 2 将EDMX文件移动到新项目导致:System.Data.MetadataException:无法加载指定的元数据资源

Asp.net mvc 2 将EDMX文件移动到新项目导致:System.Data.MetadataException:无法加载指定的元数据资源,asp.net-mvc-2,entity-framework-4,connection-string,Asp.net Mvc 2,Entity Framework 4,Connection String,我有一个ASP.NETMVC2项目。 我已经在保存模型的类库项目上创建了edmx文件 现在我创建了另一个类库,名为“共享”,并将edmx文件移到了那里。 解决了一些问题,所有内容都可以编译,但在运行时找不到连接字符串资源 我已将Web.Config的ConnectionString部分复制到主文件、旧类库app.Config文件和新类库app.Config文件中 仍然会出现此错误: System.Data.MetadataException:无法 加载指定的元数据 资源 第75行:公共myPro

我有一个ASP.NETMVC2项目。 我已经在保存模型的类库项目上创建了edmx文件

现在我创建了另一个类库,名为“共享”,并将edmx文件移到了那里。 解决了一些问题,所有内容都可以编译,但在运行时找不到连接字符串资源

我已将Web.Config的ConnectionString部分复制到主文件、旧类库app.Config文件和新类库app.Config文件中

仍然会出现此错误:

System.Data.MetadataException:无法 加载指定的元数据 资源

第75行:公共myProjdb(): base(“name=myProjdb”、“myProjdb”)

在MyProj.Designer.cs文件中

你知道如何解决这个问题吗


是否有更好的方法存储连接字符串数据?

如果使用包含程序集名称的连接字符串,则应该能够在其他项目中使用相同的模型。在web.config中的连接字符串中,尝试更改连接字符串中的
*
,从

metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=... 
对这样的事情:

metadata=res://ClassLibrary1/Model1.csdl|res://ClassLibrary1/Model1.ssdl|res://ClassLibrary1/Model1.msl;provider=System.Data.SqlClient;provider connection string=...

您是复制了edmx文件还是移动了它?它是在项目的根目录中,还是在子文件夹中?我把它放在了子文件夹中-也许这就是问题所在?正在检查。好的,问题出在子文件夹上。它不需要更改为程序集名称(将其移回*)。是否有方法将其放入子文件夹中?如果模型位于子文件夹中,则文件夹名称应位于连接字符串中,如下所示:
//ClassLibrary1/subfolder.Model1.csdl |……
。我认为这是因为文件夹成为模型所在命名空间的一部分。也解决了我的问题。。。谢谢