Почему я получаю сообщение об ошибке «Небезопасный код может появиться только при компиляции с / unsafe»? - PullRequest
129 голосов
/ 08 января 2010

Почему я получаю следующую ошибку?

Небезопасный код может появиться только при компиляции с / unsafe "?

Я работаю в C # и Visual Studio 2008 для программирования под Windows CE.

Ответы [ 6 ]

247 голосов
/ 08 января 2010

Чтобы использовать небезопасные блоки кода, проект должен быть скомпилирован с включенным параметром / unsafe.

Откройте свойства проекта, перейдите на вкладку Build и установите флажок Allow unsafe code.

122 голосов
/ 21 июля 2011

Вот скриншот:

Unsafe screenshot

1006 *

4 голосов
/ 08 января 2010

Поиск в вашем коде unsafe блоков или операторов. Они действительны только скомпилировано с /unsafe.

4 голосов
/ 08 января 2010

Возможно, потому что вы используете небезопасный код.

Вы что-то делаете с указателями или неуправляемыми сборками где-то?

3 голосов
/ 05 ноября 2010

Чтобы использовать блоки небезопасного кода, откройте свойства проекта, перейдите на вкладку Build и установите флажок Разрешить небезопасный код , затем скомпилируйте и запустите.

class myclass
{
     public static void Main(string[] args)
     {
         unsafe
         {
             int iData = 10;
             int* pData = &iData;
             Console.WriteLine("Data is " + iData);
             Console.WriteLine("Address is " + (int)pData);
         }
     }
}

Выход:

Data is 10
Address is 1831848
2 голосов
/ 22 апреля 2018

Для всех, кто использует Rider, вы должны выбрать свой проект> Щелкните правой кнопкой мыши> Свойства> Конфигурации, затем выберите Отладка и Выпуск и отметьте «Разрешить небезопасный код» для оба . Screenshot

...