2012-11-22 40 views
15

System.Windows.Interactivityアセンブリを追加しました。 XamlParseは、実行時に私に例外をスロー:ファイルまたはアセンブリ 'System.Windows.Interactivity'を読み込めませんでした。

は「System.Windows.Interactivity、 なPublicKeyToken = 31bf3856ad364e35」またはその依存関係の1つをファイルまたはアセンブリをロードできませんでした。 システムは、指定されたファイルを見つけることができません。

Google検索でのみプリズムに関連する検索結果があります - 私は使用しません。

なぜそれが起こりますか?

+0

[Expression Studio](http://msdn.microsoft.com/en-us/library/system.windows.interactivity(v = expression.40).aspx)の一部です – ChrisF

+1

だから?私は何かをインストールする必要がありますか? – Harry

+0

ここMSDNのページです - http://msdn.microsoft.com/en-us/library/system.windows.interactivity.invokecommandaction(v=expression.40).aspx – ChrisF

答えて

39

、あなたがメインプロジェクトにライブラリを参照していないかもしれません。

これは数回私に起こりました。

+2

Gah。アセンブリBがアセンブリBを消費するために一見無作為な参照を追加する必要があるときに私はそれが嫌いです。私はツールが自分自身でこれを理解することができたらいいと思っています – dlf

+2

ちょうどこれにつまずいた...しかし、絶対に助けた。 –

6

新しいライブラリを追加すると、時にはSystem.Windows.Interactivity.dllというクラッシュするバージョンが導入されることがあります。

これにより、プロジェクトが機能しなくなります。それとして、それはすべてのバージョン間で一定のだ、PublicKeyTokenの変更について心配しないでください

<?xml version="1.0"?> 
<configuration> 
<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="System.Windows.Interactivity" 
         publicKeyToken="31bf3856ad364e35" 
         culture="neutral"/> 
     <bindingRedirect oldVersion="4.0.0.0" 
         newVersion="4.5.0.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup> 
<appSettings> 
    <add key="TestKey" value="true"/> 
</appSettings> 

:総会はこのような何かを見て、あなたのapp.configを編集することによってリダイレクトをバインドの追加、修正するには

バージョンではなく.dllの名前に依存します。

あなたがを指し終わる実際のバージョンにappConfignewVersionと一致していることを確認します。

enter image description here

+1

ありがとう、これは私の場合の正しい答えです – Ateik

9

Tilakの答えは大したことを私を助けて、私はまた、名に必要な XAMLコードのアセンブリ "i"からの少なくとも1つの要素 要素の名前が付けられると、Visual Studioはアセンブリを正しく連結します。

<i:InvokeCommandAction Command="{Binding MyCommand}" x:Name="interactivityFix" /> 

変更

<i:InvokeCommandAction Command="{Binding MyCommand}"/> 

これは全体のXAMLファイルに一つだけの要素に行われる必要があります。

+1

私のウィンドウは、WPF以外のアプリケーション内のDLLから呼び出されます。これは、トリックをやったようですね、ありがとう! – Kolky

+0

私が私と関係があるのは、この回答ごとの名前です。確かに、私はツールの面で自信を持っています... – curob

0

各プロジェクトをスキャンして、System.Windows.Interactivityのバージョンを調べることができます。 4.0.0.0または4.5.0.0。また、参照するサードパーティのDLLの1つがSystem.Windows.Interactivityに依存している可能性があります。そのため、プロジェクト全体でバージョンを調整してください。これは問題を解決する必要があります。

+0

「これはあなたの問題を修正する必要があります」というよりは、あまり力を発揮しないと言います。それはおそらくすでに修正済みです)、あなたの答えはかなり下降します。 – David

関連する問題