Я пытаюсь разрешить доступ к модификатору доступа unsafe
, чтобы использовать указатели для хранения адресов памяти на моем веб-сайте ASP.NET C # Web Forms. Я прочитал много документации, в которой говорится, что есть флажок, позволяющий разрешить код unsafe
, для этого перейдите в Project> Properties> Build. Изображение этого окна выглядит примерно так:

Проблема в том, что мое окно «Свойства проекта» не имеет ничего общего с этим параметром. Моя выглядит так:

Когда я захожу в «Отладка»> «Свойства веб-сайта» (вместо «Свойства проекта»), у меня действительно есть вкладка Build
, но она также не имеет флажка для небезопасного кода. Это выглядит так:

Так что это исключает мои возможности использования каких-либо флажков - может быть, это не идет с веб-приложениями или не было частью моей установки? В некоторых статьях говорится, что они приходят в веб-приложения, но я думаю, что они предназначены только для Windows (WPF) и консольных приложений, как указано в этой статье: как добавить небезопасное ключевое слово в веб-приложение asp.net c # . В любом случае, у меня остались пара других опций, и они должны были явно разрешить / небезопасно компилятору. Один из них - перейти в файл Web.config и добавить следующие строки:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" compilerOptions="/unsafe" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</compilers>
</system.codedom>
Это не сработало. Большинство документов, которые я нашел для компиляторов Web.config, появилось в годы, такие как 2010 и 2011 годы - как в том, что я перечислил выше, поэтому они имели версию 2.0.0.0. Этот код мог легко измениться с тех пор, и, как вы можете видеть на моем последнем рисунке, моя целевая платформа - 4.5.2, поэтому я использовал версию 4.0.0.0, но все же не повезло. Последний явный способ разрешить использование ключевого слова unsafe
- ввести следующую команду в командной строке разработчика Visual Studio:
csc /unsafe Your_Web_Form.aspx
Эта команда выдала мне ошибку для каждой строки моего файла .aspx. Я был бы очень признателен за помощь по этому вопросу, и я уверен, что она может помочь многим другим, кто недавно столкнулся с этой проблемой и ищет более свежую документацию.