Если вы застряли в положении, где все, что у вас есть, это DateInterval
, и вы (как и я) обнаруживаете, что, кажется, нет никакого способа получить общее количество минут, секунд или что-то из интервала, решение заключается чтобы создать DateTime в нулевое время, добавьте к нему интервал, а затем получите полученную метку времени:
$timeInterval = //the DateInterval you have;
$intervalInSeconds = (new DateTime())->setTimeStamp(0)->add($timeInterval)->getTimeStamp();
$intervalInMinutes = $intervalInSeconds/60; // and so on
Флаг x86 обычно устанавливается по какой-то причине, поэтому менять его может быть плохой идеей. Но если вы абсолютно уверены, есть утилита corflags.exe. У меня он находится в папке C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ bin. Конечно, это поможет только со сборками .net.
Windows НЕ МОЖЕТ загрузить 32-битную dll в 64-битный процесс - это ограничение, которое вы не можете обойти. Это означает, что если ваша 32-битная DLL выполняет какие-либо P / Invokes для других 32-битных DLL (или использует любую 32-битную .Net DLL), вам совсем не повезло (вам нужно будет запустить весь веб-сайт в 32-битной среде).
не совсем понятно, когда это работает, а когда нет. Вот объяснения:
В терминах AnyCPU:
В большинстве случаев это ' Можно оставить AnyCPU. Однако, как я уже сказал, если вы используете какие-либо 32-битные библиотеки DLL или 32-битные библиотеки .Net, вам нужно будет сделать все свое приложение 32-битным (и вы ничего не можете или Microsoft могли бы с этим поделать).
Если вы хотите загрузить чистую C # DLL как в 32-битный, так и в 64-битный процесс, то правильный выбор - AnyCPU. Это скомпилирует DLL как независимую от ЦП, и ее можно будет загрузить в любой тип процесса.
Я не уверен на 100%, что вы спрашиваете. Если нет, можете пояснить свой вопрос?