1

sqliteをlinqで動作させようとしています。これまでのところ:

http://sourceforge.net/projects/sqlite-dotnet2/files/SQLite%20for%20ADO.NET%202.0/からADO.netプロバイダーをインストールしました

http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wikiから32ビットと64ビットの両方のsqlite.netをインストールしました

これで、sqliteデータベースをソースとして使用してエンティティデータモデルを作成できます。(表示されているwpfコンポーネントで)データモデルの新しいインスタンスを作成しようとすると、次の例外が発生します。

A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in     PresentationFramework.dll

Additional information: 'The invocation of the constructor on type myprogram.mycomponent' that matches the specified binding constraints threw an exception.' Line number '13' and line position '37'.

mycomponentコンストラクターは単純です。

private void myprogram()
{
    InitializeComponent();

    pricesEntities pe = new pricesEntities();
}

コンポーネントを表示するウィンドウのデザインビューを開くと、

ArgumentException was thrown on "mycomponent": Cannot create an instance of "mycomponent".

An Unhandled Exception has occurred

The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
  at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
  at System.Data.EntityClient.EntityConnection..ctor(String connectionString)
  at System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString)
  at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
  at myprogram.pricesEntities..ctor() in <path>\prices.Designer.cs:line 34
  at myprogram.ItemList.InitializePriceList() in <path>\ItemList.xaml.cs:line 34
  at myprogram.ItemList..ctor() in <path>\ItemList.xaml.cs:line 29

私のapp.configには、次の接続文字列が含まれています。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="pricesEntities" connectionString="metadata=res://*/prices.csdl|res://*/prices.ssdl|res://*/prices.msl;provider=System.Data.SQLite;provider connection string='data source=&quot;<path>\prices.db&quot;'" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

ここや他の場所で提案されているように、app.configファイルを実行可能ファイルのディレクトリにコピーしてみました。それは役に立ちませんでした。これは、指定された名前付き接続が構成に見つからないか、EntityClientプロバイダーでの使用を目的としていないか、無効であるのとは異なる問題であることに注意してください。

動作させようとしているプロジェクト(wpfアプリケーション)は1つだけです。

4

1 に答える 1

1

これは2.xランタイムのアセンブリビルドであることがわかったため、useLegacyV2RuntimeActivationPolicy要素をapp.configに追加すると、問題が解決しました。

于 2012-08-28T18:01:21.960 に答える