1

AxMapPoint オブジェクトが Windows フォーム コントロール ライブラリに組み込まれている場合、MapPoint は WPF アプリケーション内で使用できます。

MainWindows.xaml に次の本文を含む簡単なテスト アプリを作成する

<Grid x:Name="LayoutRoot">     
    <Grid Name="mapControl" Loaded="MapPointControl_Loaded"/>
</Grid>

WPF プロジェクトの作成時に機能します。CodeBehind 関数呼び出しは次のようになります。

private void MapPointControl_Loaded(object sender, RoutedEventArgs e)
    {
        try
        {
                // Create the interop host control.
                System.Windows.Forms.Integration.WindowsFormsHost host =
                    new System.Windows.Forms.Integration.WindowsFormsHost();


                //  mpControl = new 
                MapPointControl userControl = new MapPointControl();
                host.Child = userControl;

                // Add the interop host control to the Grid
                // control's collection of child controls.
                this.mapControl.Children.Add(host);

        } catch { }

これはWPFプロジェクトで機能し、

ただし、MVVM プロジェクトの作成は機能しません。

この行で障害が発生します

                MapPointControl userControl = new MapPointControl();

以下のダイアログボックスが表示されます

FileNotFoundException がキャッチされました

ファイルまたはアセンブリ 'Interop.MapPoint、Version=1.0.0.0、Culture= ニュートラル、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

( Interop.MapPoint.dll は bin/Debug フォルダーにあります)

Visual Studio で。

4

1 に答える 1

0

Fusion ログ ビューアーを有効にして、結果を共有します。どの依存関係が欠落しているかがわかります。

  1. [スタート] をクリックし、「fusion」と入力し、Fusion Log Viewerを右クリックして管理者として実行します。

  2. [設定] -> [バインドの失敗をディスクに記録] をクリックします。

  3. 例外をトリガーし、ログ ビューアーで [更新] をクリックします。

  4. Fusion に表示されるエントリで [ログの表示] をクリックします。結果を共有します。

于 2012-05-03T17:00:43.890 に答える