0

Process.Start()Program Files (x86)ターゲットがフォルダーではなくフォルダーにあるショートカットでのみ機能するようですProgram Files

ターゲットがProgram Filesフォルダー内にある場合、次のエラーが発生します

「指定されたファイルが見つかりません」(実行時エラー)

なぜこれが起こるのですか?また、ターゲットがProgram Filesフォルダーにあるショートカットを開くことができるように、これを修正する方法はありますか?

問題があれば - Windows 7 Ultimate を使用しています

編集

これが私のコードです

public class MainClass
{
    static void Main()
    {
    Process.Start(Path.Combine(Directory.GetCurrentDirectory(), "Blender") );
    Console.ReadLine();
}
}

編集 2 - 私の解決策

私は、IDE (Xamarin Studio) に問題があるのではないかと疑うようになりました。そこで、Visual Studio をインストールし、32 ビット優先をオフにして、AnyCPU に設定すると、機能しました。Xamarin Studio がこの問題を引き起こした理由はわかりませんが、Visual Studio がこの問題を解決したことは知っています。

4

1 に答える 1

2

これは 32 ビットの問題、またはファイルの場所の問題です。

これまでに何を試しましたか?

どのコードを使用しますか?

非常に基本的なアプリを作成しましたが、問題なく動作しますが、間違ったパスを使用するとエラーがスローされます。また、「32ビットを優先」を使用します。

最も可能性の高い原因が 2 つあるため、次のことを行う必要があります。

  1. プロジェクトのプロパティを確認してください。

「ビルド」の下に「プラットフォーム ターゲット」があります。Any CPU に設定されていることを確認し、[Prefer 32-bit] ボックスのチェックを外します。

それはおそらくあなたの問題です。

  1. それでも失敗する場合は、パスが間違っています。

「絶対にありません! デスクトップにあるのに! 見えます!」と言うかもしれませんが。あなたは間違っているでしょう。

ショートカットは、パブリックの場所に配置することで、全員のデスクトップに配置できます。たとえば、デスクトップにショートカットがありますが、デスクトップの下には見つかりません。パブリック フォルダにあるため、デスクトップに表示されます。

したがって、ショートカットを右クリックして、「場所」の横にリストされているパスを使用します。これがその真の位置です。

例:

Process.Start(new ProcessStartInfo()
            {
                FileName = @"C:\Users\Public\Desktop\Oracle VM VirtualBox"
            });

または単に:

Process.Start(@"C:\Users\Public\Desktop\Oracle VM VirtualBox");
于 2015-02-25T01:01:23.850 に答える