2

Sketchflow 初心者 (数日)、WPF 初心者 (数週間)。

ワークスペースの詳細:

WinXP、Visual Studio 2010 Ultimate、Expression Studio Ultimate (Expression Blend 4 と SketchFlow を使用)。Sketchables 0.9 リリースをダウンロードし、リリース バージョンをビルドしました (デバッグ バージョンは既にビルドされています)。

問題の詳細:

Expression Blend 4 を起動し、WPF Sketchflow プロジェクトを作成します。ビルドします (成功)。Sketchables ライブラリのリリースバージョンまたはデバッグ バージョンへの参照を( SL フォルダではなくデスクトップに) 追加し、ビルドを再試行します。ビルドは次のエラーで失敗します:

Unknown build error, 'Could not load file or assembly 'System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXX' or ore of its dependencies. The local assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)'

現在、同様のエラーに関するいくつかの問題、特に WPF プロジェクトで Silverlight コントロールを読み込もうとしたことが原因で発生したいくつかの問題を見てきました。しかし、私はそれが関連しているかどうかを知るのに十分な知識がありません. 直感で、Silverlight プロジェクトを試してみました。案の定、Silverlight Sketchflow プロジェクトをビルドし、Sketchables ライブラリを追加すると、問題なくビルドされます。

それで、質問はこれです: Sketchablesソース内でこのエラーを実際に引き起こしているものについて、それを追跡してWPF用のクリーンなライブラリビルドを取得できるようにする方法についてのポインタについて、誰かアイデアはありますか?

4

2 に答える 2

2

チャックは正しい。Sketchables.Common dll は Silverlight クラス ライブラリです。修正する簡単な方法は、Sketchables.Common.WPF プロジェクトを作成し、それを通常のクラス ライブラリにすることです。SL ライブラリ プロジェクトからクラスをコピーしてコンパイルし、Sketchables.WPF の参照を変更して、Sketchables.Common ではなく、Sketchables.Common.WPF を指すようにします。Blend プロジェクトがビルドされるはずです。

より高度な方法は、両方の共通プロジェクトを同じファイルで共有することですが、ここでは説明しません。プロジェクト間の共有 (リンク) ファイルを検索すると、その答えが見つかります。

于 2011-04-01T18:01:28.483 に答える
1

問題の原因を特定しました。WPFプロジェクトで参照しようとしているアセンブリはSilverlight用にコンパイルされています(2.0.5.0バージョン番号はSiverlightであることを示すものです)。

コントロールの作成者に問い合わせて、WPF用にコンパイルする方法があるかどうかを確認することをお勧めします。

于 2010-12-17T14:12:54.783 に答える