10

アプリケーションを 64 ビット マシンで 32 ビットとして実行するにはどうすればよいですか?

コードは C# で記述されています。

4

6 に答える 6

11

コマンドラインフォーム:

corflags application.exe /32BIT+ 
于 2010-01-15T02:33:25.950 に答える
8

ClickOnceの制限により、既存のコードを任意の CPUからx86に変更できなかったときに行った方法は次のとおりです。

32 ビット (プロジェクトのプロパティで x86 をチェックする必要があります) の「ランチャー」アプリケーション (フォームではなく Windows アプリケーション) を作成します。

static void Main(string[] args)
{
    // Load the assembly    
    string directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
    string assemblyName = Path.Combine(directory, "YourAnyCPUApplication.exe");
    Assembly assembly = Assembly.LoadFile(assemblyName);
    assembly.EntryPoint.Invoke(null, null);
}

Any CPUプロジェクトの Main メソッドに次のコードを追加します。

if (IntPtr.Size == 4)
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    // etc...
}
else
{
    // Launch application in 32-bit mode
    System.Diagnostics.Process.Start(Path.GetDirectoryName(Application.ExecutablePath)
                                     + @"\Your32BitApplicationLauncher.exe");
}

これが役立つことを願っています:-)

于 2010-01-15T02:15:10.963 に答える
5

Visual Studio の構成マネージャーに移動すると、プラットフォームを x86 または x64 に設定できます。

于 2009-01-12T22:32:39.637 に答える
1

これが Winforms、コンソール アプリ、または Windows サービスであると仮定すると、任意の CPU ではなく x86 用の exe をビルドする必要があります。構成マネージャーにあります。

于 2009-01-12T22:31:39.313 に答える
0

プロジェクトを x86 に設定すると、ARM などの非 x86 プラットフォームでファイルが実行されなくなります。Visual Studio 11 および .NET Framework 4.5 以降、 という名前の新しいオプションがAny CPU 32-bit preferredあり、それ以降、これがデフォルトでした。結果のコードはどのプラットフォームでも実行できますが、64 ビット プラットフォームでは 32 ビット プロセスとして実行されます。

参考文献

于 2014-05-10T02:34:16.093 に答える