2014-01-15 27 views
2

我有一个.NET 4.5 WCF webservice,它使用Entityframwork 5.0.0和MySQL连接器6.7.4。 的Web服务运行正常在本地主机上(即使从另一个comupter使用),但是当我把它上传到服务器(IIS),而尝试使用web服务我得到以下错误:Webservice始终引用旧版本的entityframework

»Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.« 

我无法找到任何提到EF 4.4.0.0的地方。


堆栈跟踪:

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">><EventID>131076</EventID><Type>3</Type><SubType Name="Error">0</SubType><Level>2</Level><TimeCreated SystemTime="2014-01-15T10:10:45.9384169Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{2db07ea1-945c-4f1b-bd7b-c89c7f34b7d4}" /><Execution ProcessName="w3wp" ProcessID="5772" ThreadID="3" /><Channel /><Computer>SVIZEC</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord Severity="Error" Channel="Operational" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord"><TraceIdentifier>http://msdn.microsoft.com/sl-SI/library/System.ServiceModel.Diagnostics.TraceHandledException.aspx</TraceIdentifier><Description>Handling an exception. Exception details: System.InvalidOperationException: Failed to set Database.DefaultConnectionFactory to an instance of the 'MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity' type as specified in the application configuration. See inner exception for details. ---&gt; System.IO.FileLoadException: Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) 
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark&amp; stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) 
    at System.Type.GetType(String typeName, Boolean throwOnError) 
    at System.Data.Entity.Internal.ConfigFile.DefaultConnectionFactoryElement.GetFactoryType() 
    at System.Data.Entity.Internal.AppConfig.&lt;.ctor&gt;b__1() 
    --- End of inner exception stack trace --- 
    at System.Data.Entity.Internal.AppConfig.&lt;.ctor&gt;b__1() 
    at System.Lazy`1.CreateValue() 
    at System.Lazy`1.LazyInitValue() 
    at System.Data.Entity.Internal.LazyInternalConnection.Initialize() 
    at System.Data.Entity.Internal.LazyInternalConnection.get_ProviderName() 
    at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() 
    at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) 
    at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() 
    at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() 
    at System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName) 
    at System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity) 
    at System.Data.Entity.DbSet`1.Add(TEntity entity) 
    at UniFeriBank_Webservice.Database.Dao.DebitCardDao.Create() in d:\Študenti\1314\SOA\Projekt\banka2\UniFeriBank_Webservice\Database\Dao\DebitCardDao.cs:line 121 
    at UniFeriBank_Webservice.Service.InvoiceService.Create() in d:\Študenti\1314\SOA\Projekt\banka2\UniFeriBank_Webservice\Service\InvoiceService.cs:line 266 
    at UniFeriBank_Webservice.UniFeriBankService.CreateDB() in d:\Študenti\1314\SOA\Projekt\banka2\UniFeriBank_Webservice\UniFeriBankService.cs:line 121 
    at SyncInvokeCreateDB(Object , Object[] , Object[]) 
    at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp; outputs) 
    at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&amp; rpc) 
    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</Description><AppDomain>/LM/W3SVC/1/ROOT/SOATravel/test-2-130342542452822131</AppDomain><Exception><ExceptionType>System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Failed to set Database.DefaultConnectionFactory to an instance of the 'MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity' type as specified in the application configuration. See inner exception for details.</Message><StackTrace> at System.Data.Entity.Internal.AppConfig.&amp;lt;.ctor&amp;gt;b__1() 
    at System.Lazy`1.CreateValue() 
    at System.Lazy`1.LazyInitValue() 
    at System.Data.Entity.Internal.LazyInternalConnection.Initialize() 
    at System.Data.Entity.Internal.LazyInternalConnection.get_ProviderName() 
    at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() 
    at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) 
    at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() 
    at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() 
    at System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName) 
    at System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity) 
    at System.Data.Entity.DbSet`1.Add(TEntity entity) 
    at UniFeriBank_Webservice.Database.Dao.DebitCardDao.Create() in d:\Študenti\1314\SOA\Projekt\banka2\UniFeriBank_Webservice\Database\Dao\DebitCardDao.cs:line 121 
    at UniFeriBank_Webservice.Service.InvoiceService.Create() in d:\Študenti\1314\SOA\Projekt\banka2\UniFeriBank_Webservice\Service\InvoiceService.cs:line 266 
    at UniFeriBank_Webservice.UniFeriBankService.CreateDB() in d:\Študenti\1314\SOA\Projekt\banka2\UniFeriBank_Webservice\UniFeriBankService.cs:line 121 
    at SyncInvokeCreateDB(Object , Object[] , Object[]) 
    at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp;amp; outputs) 
    at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp;amp; rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp;amp; rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&amp;amp; rpc) 
    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</StackTrace><ExceptionString>System.InvalidOperationException: Failed to set Database.DefaultConnectionFactory to an instance of the 'MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity' type as specified in the application configuration. See inner exception for details. ---&amp;gt; System.IO.FileLoadException: Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) 
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark&amp;amp; stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) 
    at System.Type.GetType(String typeName, Boolean throwOnError) 
    at System.Data.Entity.Internal.ConfigFile.DefaultConnectionFactoryElement.GetFactoryType() 
    at System.Data.Entity.Internal.AppConfig.&amp;lt;.ctor&amp;gt;b__1() 
    --- End of inner exception stack trace --- 
    at System.Data.Entity.Internal.AppConfig.&amp;lt;.ctor&amp;gt;b__1() 
    at System.Lazy`1.CreateValue() 
    at System.Lazy`1.LazyInitValue() 
    at System.Data.Entity.Internal.LazyInternalConnection.Initialize() 
    at System.Data.Entity.Internal.LazyInternalConnection.get_ProviderName() 
    at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() 
    at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) 
    at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() 
    at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() 
    at System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName) 
    at System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity) 
    at System.Data.Entity.DbSet`1.Add(TEntity entity) 
    at UniFeriBank_Webservice.Database.Dao.DebitCardDao.Create() in d:\Študenti\1314\SOA\Projekt\banka2\UniFeriBank_Webservice\Database\Dao\DebitCardDao.cs:line 121 
    at UniFeriBank_Webservice.Service.InvoiceService.Create() in d:\Študenti\1314\SOA\Projekt\banka2\UniFeriBank_Webservice\Service\InvoiceService.cs:line 266 
    at UniFeriBank_Webservice.UniFeriBankService.CreateDB() in d:\Študenti\1314\SOA\Projekt\banka2\UniFeriBank_Webservice\UniFeriBankService.cs:line 121 
    at SyncInvokeCreateDB(Object , Object[] , Object[]) 
    at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp;amp; outputs) 
    at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp;amp; rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp;amp; rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&amp;amp; rpc) 
    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</ExceptionString><InnerException><Exception><ExceptionType>System.IO.FileLoadException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)</Message><StackTrace> at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) 
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark&amp;amp; stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) 
    at System.Type.GetType(String typeName, Boolean throwOnError) 
    at System.Data.Entity.Internal.ConfigFile.DefaultConnectionFactoryElement.GetFactoryType() 
    at System.Data.Entity.Internal.AppConfig.&amp;lt;.ctor&amp;gt;b__1()</StackTrace><ExceptionString>System.IO.FileLoadException: Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 
File name: 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) 
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark&amp;amp; stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) 
    at System.Type.GetType(String typeName, Boolean throwOnError) 
    at System.Data.Entity.Internal.ConfigFile.DefaultConnectionFactoryElement.GetFactoryType() 
    at System.Data.Entity.Internal.AppConfig.&amp;lt;.ctor&amp;gt;b__1() 

WRN: Assembly binding logging is turned OFF. 
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. 
Note: There is some performance penalty associated with assembly bind failure logging. 
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. 
</ExceptionString></Exception></InnerException></Exception></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent> 

任何想法?

+1

是否检入与网站名称相关的应用程序池,.net框架版本。 –

回答

0

我通常用ILDASM.exe打开所有.dll和.exe文件,并手动检查MANIFEST。

0

某些操作建议:

  • 从服务器手动删除旧版本。

  • 确认您确实发布了新版本的服务。

  • 验证服务器上的实际端点(IP,端口)是否绑定到特定服务。

  • 使用tool(如ILDASM.exe)检查所有引用,包括所有引用的dll引用。

希望我帮了忙!