После добавления вышеупомянутой команды в командный файл запуска, который вызывает сценарий powershell, сценарий как-то завершается с ошибкой в этой записи, и моя облачная служба не может запуститься. В итоге я изменил файл WebRole.cs, и он работал в облачной службе Azure (Windows Server 2012 R2), например так:
using Microsoft.Web.Administration;
namespace KDC.UserWeb.RoleEntryPoint
{
{
public override bool OnStart()
{
Enable32BitAppPool();
return base.OnStart();
}
{
base.Run();
}
public static void Enable32BitAppPool();
{
ServerManager serverManager = new ServerManager();
ApplicationPoolCollection applicationPoolCollection = serverManager.ApplicationPools;
foreach (ApplicationPool applicationPool in applicationPoolCollection)
{
if( !String.IsNullOrEmpty(applicationPool.Name) && applicationPool.Name[0] != '.' )
{
serverManager.ApplicationPools[applicationPool.Name].Enable32BitAppOnWin64 = true;
serverManager.CommitChanges();
}
}
}
}
}
Примечание:
По умолчанию создаются два appPool, запускаемые с .NET ...
который будет отфильтрован и выбран только appPool, созданный специально для облачного сервиса, для включения 32 бит.