«Была предпринята попытка загрузить программу с неверным форматом», даже если платформы одинаковы

Переменные, объявленные без значения и неопределенные / необъявленные переменные, по умолчанию null.

Однако просто выполнение $var; не объявляет переменную, поэтому вы можете объявлять переменную без значение в объекте.

Демонстрация:

<?php
class Test { public $var; }
$var;
$t = new Test();
var_dump($var);
var_dump($t->var);

Выход:

Notice: Undefined variable: var in - on line 5
NULL
NULL
436
задан David Brown 7 January 2010 в 21:26
поделиться

3 ответа

Каким-то образом флажок Build в Configuration Manager был снят для моего исполняемого файла, так что он все еще работал со старой сборкой Any CPU. После того, как я это исправил, Visual Studio пожаловалась, что не может отладить сборку, но это было исправлено с перезагрузкой.

126
ответ дан 22 November 2019 в 23:07
поделиться

У нас была подобная проблема, и нам удалось зафиксировать ее, ставя цель Платформы к x86. Project Properties-> build

1
ответ дан 22 November 2019 в 23:07
поделиться

Если Вы импортируете неуправляемый DLL, затем используют

CallingConvention = CallingConvention.Cdecl 

в Вашем методе импорта DLL.

0
ответ дан 22 November 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: