Вот как я это сделал, когда мы не смогли изменить существующий код с Любой ЦП на x86 из-за ограничения ClickOnce :
Создание 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);
}
Добавьте следующий код к методу Main в проекте Any CPU :
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");
}
Надеюсь, это поможет :-)