1

我的整个应用程序只是连接到 mysql 数据库并使用 Entityframework 插入数据。该代码在本地运行良好,但是当我在我的亚马逊服务器上上传时,它只会给我这个错误:你可以在http://fb1.131x.com/test_data.aspx看到

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。详细信息:System.NullReferenceException:对象引用未设置为对象的实例。

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[NullReferenceException: Object reference not set to an instance of an object.]
   MySql.Data.MySqlClient.MySqlClientFactory.get_MySqlDbProviderServicesInstance() +126
   MySql.Data.MySqlClient.MySqlClientFactory.System.IServiceProvider.GetService(Type serviceType) +39
   System.Data.Common.DbProviderServices.GetProviderServices(DbProviderFactory factory) +89
   System.Data.Metadata.Edm.Loader.InitializeProviderManifest(Action`3 addError) +174
   System.Data.EntityModel.SchemaObjectModel.Schema.HandleAttribute(XmlReader reader) +301
   System.Data.EntityModel.SchemaObjectModel.SchemaElement.ParseAttribute(XmlReader reader) +121
   System.Data.EntityModel.SchemaObjectModel.SchemaElement.Parse(XmlReader reader) +106
   System.Data.EntityModel.SchemaObjectModel.Schema.HandleTopLevelSchemaElement(XmlReader reader) +49
   System.Data.EntityModel.SchemaObjectModel.Schema.InternalParse(XmlReader sourceReader, String sourceLocation) +984
   System.Data.EntityModel.SchemaObjectModel.Schema.Parse(XmlReader sourceReader, String sourceLocation) +245
   System.Data.EntityModel.SchemaObjectModel.SchemaManager.ParseAndValidate(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths, SchemaDataModelOption dataModel, AttributeValueNotification providerNotification, AttributeValueNotification providerManifestTokenNotification, ProviderManifestNeeded providerManifestNeeded, IList`1& schemaCollection) +472
   System.Data.Metadata.Edm.Loader.LoadItems(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths) +162
   System.Data.Metadata.Edm.StoreItemCollection.Init(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths, Boolean throwOnError, DbProviderManifest& providerManifest, DbProviderFactory& providerFactory, String& providerManifestToken, Memoizer`2& cachedCTypeFunction) +203
   System.Data.Metadata.Edm.StoreItemCollection..ctor(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths) +305
   System.Data.Metadata.Edm.StoreMetadataEntry.LoadStoreCollection(EdmItemCollection edmItemCollection, MetadataArtifactLoader loader) +129
   System.Data.Metadata.Edm.MetadataCache.LoadItemCollection(IItemCollectionLoader`1 itemCollectionLoader, T entry) +165
   System.Data.Metadata.Edm.MetadataCache.GetOrCreateStoreAndMappingItemCollections(String cacheKey, MetadataArtifactLoader loader, EdmItemCollection edmItemCollection, Object& entryToken) +245
   System.Data.EntityClient.EntityConnection.LoadStoreItemCollections(MetadataWorkspace workspace, DbConnection storeConnection, DbProviderFactory factory, DbConnectionOptions connectionOptions, EdmItemCollection edmItemCollection, MetadataArtifactLoader artifactLoader) +312
   System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections) +802
   System.Data.EntityClient.EntityConnection.InitializeMetadata(DbConnection newConnection, DbConnection originalConnection, Boolean closeOriginalConnectionOnFailure) +11108961
   System.Data.EntityClient.EntityConnection.Open() +198
   System.Data.Objects.ObjectContext.EnsureConnection() +97
   System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options) +651
   System.Data.Entity.Internal.InternalContext.SaveChanges() +218
   test_data.Page_Load(Object sender, EventArgs e) +231
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3064
Exception

而且我还粘贴了我的 webconfig,我尝试使用 6.3.5 和 6.4.4 版本,我只是得到同样的错误。

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <configSections>
        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </configSections>
    <system.web>
        <customErrors mode="Off" />
        <compilation debug="true" targetFramework="4.0">
            <assemblies>
                <add assembly="System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
                <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            </assemblies>
            <buildProviders>
                <add extension=".edmx" type="System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider" />
            </buildProviders>
        </compilation>
    </system.web>
    <system.data>
        <DbProviderFactories>
            <remove invariant="MySql.Data.MySqlClient" />
            <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
        </DbProviderFactories>
    </system.data>
    <entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
            <parameters>
                <parameter value="v11.0" />
            </parameters>
        </defaultConnectionFactory>
    </entityFramework>
    <connectionStrings>
        <add name="fb131xEntities" connectionString="metadata=res://*/App_Code.FBDS.csdl|res://*/App_Code.FBDS.ssdl|res://*/App_Code.FBDS.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=fb131x.db.8808454.hostedresource.com;user id=fb131x;password=aA!259214;persist security info=True;database=fb131x&quot;" providerName="System.Data.EntityClient" />
    </connectionStrings>
</configuration>
4

2 回答 2

8

您似乎没有包含MySql.Data.Entity. 没有那个是dll行不通的。

于 2013-10-18T07:51:21.700 回答
0

These are some of the things u could try. it is always a difficult step to deploy an application on a hosting provider. once it gets going it does get going though.

  • a.build clean.
  • b.build mysql dll into ur bin directory
  • c.Install nuget packages for MySQL.Data and MySQL.Data.Entities.((right click on assembly and ensure Copy Local is set to true before building)
  • d.Remove Version=6.3.5.0 tag entirely and build without any versioning on VS.type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" instead of specifying the full version data.
于 2013-01-29T13:31:00.133 回答