我有一个解决方案(WCF服务),其中包含许多Entity Framework模块。每个dll的名称都不同。
当我(和我的同事)在本地运行时,一切正常。当我们运行自动构建并将文件复制到开发服务器时,一切正常。
但是当我们将文件复制到测试服务器时,我收到一个错误:
Resolution of the dependency failed, type = "OrderManagementInterfaces.IOrderModel", name = "(none)".
Exception occurred while: Calling constructor OrderDAL.OrderEntities(System.String connectionString).
Exception is: MetadataException - Schema specified is not valid. Errors:
OrderDataModel.csdl(3,4) : error 0019: The EntityContainer name must be unique. An EntityContainer with the name 'OrderEntities' is already defined.
然后我的架构的所有部分都说它们已经定义了。当我第一次收到此错误时,它是同一种错误,但对于不同的Entity Framework模块。 (不确定这是否重要。)
所以我的问题是:是否有可能导致此问题的IIS设置?为什么它在我的开发服务器而不是我的测试服务器上工作?
我该怎么做才能解决它。
注意:我已多次检查是否有重复的模块或容器名称。只有一个名为OrderEntities的模块和容器。
我看到有时这是连接字符串的元数据部分的产物。我的连接字符串如下所示:
metadata=res://*/OrderDataModel.csdl|res://*/OrderDataModel.ssdl|res://*/OrderDataModel.msl;provider=...
除数据模型名称不同外,其他所有内容都相同。
注意:我部署到IIS时。我删除所有文件,只复制自动构建的东西。 (两个地方都有相同的东西。)
答案 0 :(得分:0)
原来这与我的代码无关。
我的应用程序池中的身份设置错误。一旦切换到正确的值,它就开始工作了:)