none
entity framework 找到的組件資訊清單定義與組件參考不符 RRS feed

  • 問題

  •  各位前輩們:

        本人是剛學習entity framework的領域,作業環境如下:win7 64bit + SQL2008 + visual Studio 2013 ,  因為在類別庫(dll)中有許多函式是直接使用entity Framework 新增/刪除/修改, 再開新專案將此類別(dll)加入參考。

    但是出現訊息:『無法載入檔案或組件 'EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 或其相依性的其中之一。 找到的組件資訊清單定義與組件參考不符。 』

    以下是類別庫所使用的entity Framework 的app.config 

    <?xml version="1.0" encoding="utf-8"?>

    <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" requirePermission="false"/>

      </configSections>

      <connectionStrings>

        <add name="CooperEntities" connectionString="metadata=res://*/CooperModel.csdl|res://*/CooperModel.ssdl|res://*/CooperModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=RDCP01-PC\SQLEXPRESS;initial catalog=CooperNew4_163;user id=sa;password=1;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

      </connectionStrings>

      <entityFramework>

        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />

        <providers>

          <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />

        </providers>

      </entityFramework>

    </configuration>

        不知前輩們是否有相關的經驗,是指點迷津,非常的感謝熱心的前輩們。

    2014年6月18日 上午 02:54

解答

  • 請執行[工具 | Nuget套件管理員 | 套件管理員主控台]功能, 執行以下的命令看看:

    PM> Install-Package EntityFramework

    • 已標示為解答 joycehong 2014年6月18日 上午 04:53
    2014年6月18日 上午 03:55

所有回覆

  • 這些內容要嘛就跟著DLL走 (輸出目錄會有一個 xxx.dll.config),要嘛就把它加到用戶端程式的 app.config/web.config 內。

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2014年6月18日 上午 03:11
    版主
  • 感謝前輩的回覆:

         我有將類別庫的設定檔的內容,同樣複製一份到另一專案上 

         在加入參考該類別(dll), vs2013 工具自動將類別庫的(dll.config) 一同放置另一專案的DEBUG 路徑中,我另外將類別庫的app.config 檔放置另一專案下的app.config ,但是仍出現這樣的訊息! 。

      

         

    2014年6月18日 上午 03:55
  • 請執行[工具 | Nuget套件管理員 | 套件管理員主控台]功能, 執行以下的命令看看:

    PM> Install-Package EntityFramework

    • 已標示為解答 joycehong 2014年6月18日 上午 04:53
    2014年6月18日 上午 03:55
  • 已成功解決了找到的組件資訊清單定義與組件參考不符的問題,但又出現如下訊息

    指定的結構描述無效。錯誤: 
    CooperModel.ssdl(2,2) : 錯誤 0152: 找不到非變異名稱為 'System.Data.SqlClient' 之 ADO.NET 提供者的 Entity Framework 提供者。請確定提供者已在應用程式組態檔的 'entityFramework' 區段中註冊。如需詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkId=260882。

    是不是設定檔缺少了什麼?  

    <?xml version="1.0" encoding="utf-8"?>

    <configuration>

      <connectionStrings>

        <add name="CooperEntities" connectionString="metadata=res://*/CooperModel.csdl|res://*/CooperModel.ssdl|res://*/CooperModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=RDCP01-PC\SQLEXPRESS;initial catalog=CooperNew4_163;user id=sa;password=1;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

      </connectionStrings>

      <startup>

        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />

      </startup>

    </configuration>


    2014年6月18日 上午 06:08
  • <entityFramework>
    
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    
        <providers>
    
          <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    
        </providers>
    
      </entityFramework>


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    • 已提議為解答 No.18MVP 2014年6月18日 上午 08:41
    2014年6月18日 上午 07:43
    版主