2014-11-24 4 views
0

У меня есть веб-приложение, и в одном из классов ниже определяется (частично):«небезопасный код может появиться только при компиляции с/небезопасным»

public class DllFunction 
{ 
    [DllImport("CARSDBI.dll", EntryPoint="CARSDBI_EnableLogging")] 
    public static extern unsafe void CARSDBI_EnableLogging(int bSetting); 
    .... 
} 

Я получаю «небезопасный код может появиться только если компилировать с/небезопасной "ошибкой. Поиск этого сообщения об ошибке, похоже, показывает одно решение: проверить «Разрешить небезопасный код» на странице «Свойства проекта» на вкладке «Сборка».

Однако, когда я щелкните правой кнопкой мыши на проекте и выберите Свойства, а затем построить вариант я не вижу этот флажок, все, что я вижу:

выпадающий список «Перед запуском стартовой страницы» с " «Создайте веб-сайт», целевую структуру с «.NET Framework 3.5» и выберите «Решение для решения» с помощью «Создайте веб-сайт как часть решения».

ответ

0

Эта ошибка возникает при использовании небезопасных ключевое слово в вашем коде.

Решение Вы можете легко устранить эту проблему, выполните следующие действия.

Право Нажать на ваш проект -> перейти к свойствам Выбрать вариант сборки, а затем проверить Разрешить небезопасный код.

На самом деле я столкнулся такая же проблема в коде ниже, так что я сделал, что

struct Point 
{ 
    public int x, y; 
} 

class MainClass12 
{ 
    unsafe static void Main() 
    { 
     Point pt = new Point(); 
     Point* pp = &pt; 
     pp->x = 123; 
     pp->y = 456; 
     Console.WriteLine("{0} {1}", pt.x, pt.y); 
    } 
} 
+0

VS2015 здесь, нет такой опции в любом месте в окне свойств. –

+0

@SaeedNeamati Не уверен, что вам все еще нужно решить вашу проблему, но если вы щелкните правой кнопкой мыши на своем проекте, вы сможете найти возможность разрешить небезопасный код, как показано на скриншоте, в следующем ответе: http: // stackoverflow .com/а/6771861 – PJvG