Я думаю, что ваш CSS связан, но проблема в пути фонового изображения. это выглядит так:
вам нужно изменить путь к style.css: -
#cellPic{
background-image: url("./../pics/bird.png");
}
.NET exe является все еще стандартным файлом PE; таким образом, Вы могли попытаться использовать editbin /LARGEADDRESSAWARE
установить флаг, но отметить, что это не будет работать при использовании чего-то как ClickOnce (так как это поддерживает криптографический хеш файлов).
Однако обратите внимание, что у Вас все еще будут те же пределы.NET с точки зрения максимального размера отдельного объекта / массивом. Для огромных объемов памяти x64 является лучшей идеей.
Необходимо также увеличить максимальный размер рабочего набора процесса: посмотрите SetProcessWorkingSetSize API.
Вы могли попытаться использовать Дистанционную работу через Именованные каналы и получить больше памяти путем физического наличия большего количества процессов.
При выполнении какой-либо формы interop (и нормальное количество сокетов .NET здесь), необходимо создать объектный кэш (например, с сокетами байт [] буфер), который выделяет большую сумму этих объектов при запуске приложения.
Необходимо прочитать эту статью.
/3GB переключатель находится на загрузчике ОС, не на Ваших приложениях. (РЕДАКТИРОВАНИЕ: Это также присутствует в собственных компиляторах C/C++, но не компиляторе C#), Что касается Вашего приложения, это запросит память, и ОС даст его Вашему процессу. Однако у Вас есть доступ к еще 1 концерту (потенциально, Вы не всегда получаете 3 ГБ в зависимости от своей периферии), прежде чем Ваша программа будет использовать виртуальную память.
Как Marc Gavell указал мне, Вы, возможно, должны выполнить команду "editbin/LARGEADDRESSAWARE my.exe" как опция сборки сообщения на Вашем exe для включения этого. Найденный ссылкой на человека MS, говорящего об этом здесь: Форумы MS
Я мог бы предложить, чтобы Вы посмотрели на свою программу и видели, могли ли Вы повторно спроектировать ее для использования меньшей памяти. Возможно, Вы могли иметь дело с набором данных в меньших блоках вместо того, чтобы пытаться загрузить все это сразу в память?
Ну, я не уверен в этом, но это - то, что я думаю:
A. СЕТЕВОЙ исполняемый файл может быть скомпилирован двумя способами - конкретная платформа и независимая платформа. По умолчанию они - независимая платформа, и кодом является (как упомянуто в других ответах) JIT'ed на платформу определенный код при запущении программы.
Теперь, например, если Ваш исполняемый файл является одним из этих платформы-independant, и Вы выполняете его на 64-разрядной ОС, это будет JIT'ed к 64-битному коду, правильно? Таким образом это сможет обратиться к пути больше это 3 ГБ RAM.
То, что я пытаюсь сказать, - я не думаю, что имеет значение вообще, что записано в заголовке PE. Фактическая сумма доступной RAM определяется временем выполнения.NET, которое в свою очередь смотрит на текущую платформу и производит лучший код JIT'ed, это может.
Я думаю, что Вы не должны волноваться о переключателе/3GB, поскольку.NET будет заботиться о нем для Вас. Доверие.NET!:)
Насколько я помню,/3GB переключатель может только использоваться для Windows Server (2000 или 2003), но не для Windows XP. Необходимо записать/3GB в конце файла boot.ini. Таким образом, для приложений, ОС включает больше памяти, которую это обычно выделяет для использования для процессов ядра. Однако/3GB не означает, что можно использовать 3 ГБ памяти для приложения, это просто может использовать больше памяти, но это должны не обязательно быть 3 ГБ. Для приложений .NET, снова насколько я помню с переключателем/3GB, можно использовать до 1.8 ГБ памяти. Между прочим, Вы могли бы также хотеть проверить переключатель/PAE.