まず、私が達成しようとしていることから始めて、次にコンテキストの詳細を提供します。
[デバッグの開始] を選択したときに、Windows Mobile デバイス センター経由で接続されているデバイスに応じて、出力ディレクトリを変更したいと考えています。明確化: セットアップ プログラムからのインストールは問題なく動作しますが、Visual Studio からのデバッグが問題を引き起こしています。
Visual Studio 2008 を使用しています。このプロジェクトは、Compact Framework 3.5 用に C# で記述されたスマート デバイス プロジェクトであり、Windows Mobile 5.0 Pocket PC Device R2 を対象としています (プロジェクト設定による)。このデバイス タイプをターゲットにすると、Windows CE 6 と共にサポートされている Windows Mobile のすべてのバージョンで正しく動作することがわかりました。提案されたソリューションは、Windows Mobile と Windows CE の両方で動作する必要があります。
プロジェクトの [プロパティ] に移動し、[デバイス] タブに移動すると、出力ファイル フォルダー: と出力のパスが表示されます。[...] ボタンをクリックすると、これを別のデフォルトに変更したり、ルート フォルダーに設定したりして、サブディレクトリとして必要な正確なパスを完全に指定できます。ほとんどのデバイスでは、(Device Default) のままにするか、ドロップダウン リストから Program Files Folder を選択すると、問題なく動作します。問題は、サポート対象の Windows CE デバイスで実行する場合、別の場所から実行する必要があることです。
考えられる解決策:
複数のプロジェクト 解決策: 異なるデバイスに対して複数のプロジェクトを用意します。これに関する問題は、出力に含める必要がある一部のファイルの DRY プリンシパルに違反せずにそれを行う方法がわからないことと、異なる Start プロジェクト間で前後に切り替える必要がないことです。
%CSIDL_PROGRAM_FILES%
ソリューションの再定義:%CSIDL_PROGRAM_FILES%
これは、Program Files の場所を指定する出力パスにある可能性があるため、意味を変更します。ただし、これが可能かどうか、またはどこから始めればよいかはわかりません。これはデバイス レジストリで定義されているのではないかと思ったのですが、見つかりません。
%
カスタム パス変数の解決策: [ルート フォルダー] を選択し、[サブディレクトリ] の下で、必要なものに変更できるパス内の変数を何らかの方法で参照します (おそらく、ビルド後またはデプロイ前 (場合)そのようなものがあります)スクリプト)。これが可能かどうか、またはどこから始めればよいかわかりません。
どんな助けでも大歓迎です、ありがとう!
編集:
掘り下げた後、私の最善の推測は、それ%CSIDL_PROGRAM_FILES%
が Windows CE 環境変数であるということです。これらを作成または変更できるかどうかはまだわかりません。