背景
WPF 開発プロジェクトではマップを使用する必要があります。当初使用されていた Google マップはブロックされ、現在は Baidu マップが使用されています。 Baidu Map の JavaScript API は、WPF プラットフォームでのアクセスに使用され、Webbroswer.Navigate が HTML ファイルの読み込みに使用されます。デフォルトでは、現在実行中のファイルは、フォルダーの下のリソースも /bin/Debug の下のリソースになります。
この問題は、HTML ファイルをデバッグ ファイルの直下に配置することで解決できます。現在実行中のフォルダーにアクセスするにはどうすればよいですか?付録 1 を参照してください。この時点で問題は解決できますが、プロジェクトが Git バージョン管理を適用すると、Git はデフォルトで /bin/Debug ファイルの内容をバージョン管理に置きません。つまり、他のユーザーがバージョン管理を介してクローンを作成した場合と同様です。私たちのプロジェクトでは、プロジェクト内に HTML ファイルが不足しています。現在直面しなければならない問題は、Uri を使用して相対パスの下にリソースをロードする方法です。
解決策
解決策 1:
リソースのプロパティを設定することで、コンパイル中にリソースをプロジェクトの /bin/Debug にコピーします。具体的な方法は、リソースをプロジェクトに追加し、そのプロパティを「出力ディレクトリにコピー」から「常にコピー」に変更して「コンテンツ」操作を生成することです。詳しくは http://blog.csdn.net を参照してください。 /yulongguiziyao/article/details/25131597
解決策 2:
相対パスでアクセスし、リソースをプロジェクト フォルダーに置き、上位のディレクトリにアクセスして「../../」を取得してリソースを取得します。 。たとえば、ThirdParty フォルダーをプロジェクトに追加し、プロジェクトの ThirdParty の下に必要なリソース BMap.html を追加します。次のステートメントを通じてリソースにアクセスできます:
new Uri(System.Environment.CurrentDirectory + @"/../../ThirdParty/BMap.html", UriKind.RelativeOrAbsolute)
System.Environemnt.CurrentDirectory (これは /bin) /Debug ディレクトリから、/../../ を介してプロジェクト ディレクトリに戻ると、プロジェクト ディレクトリの下に ThirdParty ディレクトリが存在し、このリソースに直接アクセスできるようになります。同時に、このリソースも解放できます。バージョン管理の質問は解決できます。
以上がWPF での Uri の使用に関するチュートリアルの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。