Я исправил это, не удаляя все ссылки на сборки с открытым ключом 31bf3856ad364e35, так как это охватывает множество несущественных сборок.
Вместо этого это должно быть исправлено путем обновления всех ссылок конфигурации
Обязательно обновите все файлы web.configs, включая файлы в каталогах View.
На самом деле я не следил за всеми деталями примера из википедии. Имея это в виду, вы отображаете память в Windows с помощью CreateFileMapping и MapViewOfFile , однако MapViewOfFile не позволяет вам указать базовый адрес для сопоставления. MapViewOfFileEx может использоваться для указания базового адреса, поэтому, возможно, вы могли бы использовать аналогичный метод.
У меня нет никакого способа сказать, сработает ли это на самом деле:
// determine valid buffer size
SYSTEM_INFO info;
GetSystemInfo(&info);
// note that the base address must be a multiple of the allocation granularity
DWORD bufferSize=info.dwAllocationGranularity;
HANDLE hMapFile = CreateFileMapping(
INVALID_HANDLE_VALUE,
NULL,
PAGE_READWRITE,
0,
bufferSize*2,
L"Mapping");
BYTE *pBuf = (BYTE*)MapViewOfFile(hMapFile,
FILE_MAP_ALL_ACCESS,
0,
0,
bufferSize);
MapViewOfFileEx(hMapFile,
FILE_MAP_ALL_ACCESS,
0,
0,
bufferSize,
pBuf+bufferSize);