2010-01-08 21 views

Antwort

200

Um unsichere Codeblöcke zu verwenden, muss das Projekt mit dem Schalter/unsafe kompiliert werden.

Öffnen Sie die Eigenschaften für das Projekt, wechseln Sie zur Registerkarte Build, und aktivieren Sie das Kontrollkästchen Allow unsafe code.

+3

Ich muss sagen, obwohl dies die Kompilierung des Builds ermöglicht, erlaubt es dennoch nicht, dass es im Web veröffentlicht wird:/ – Nick

+3

@Nick: Ja, wenn Sie Code veröffentlichen, der dynamisch kompiliert werden soll, dann tun die Projekteinstellungen nicht nicht bewerben. Siehe http://StackOverflow.com/questions/16567197/asp-net-publish-web-application-with-unsafe-code – Guffa

+4

Beachten Sie, dass die Einstellungen zwischen Debug und Release-Kompilierung abweichen können. Das hat mich 20 Minuten meines Lebens gekostet. – LosManos

4

Wahrscheinlich erscheinen kompilieren, weil Sie unsicher verwenden Code.

tun Sie etwas mit Zeigern oder unmanaged irgendwo Baugruppen?

3

suchen Sie Ihr Code f oder unsafe Blöcke oder Anweisungen. Diese sind nur gültig ist mit /unsafe kompiliert.

2

Um unsichere Codeblöcke verwenden, öffnen Sie die Eigenschaften für das Projekt finden Sie auf der Build- und prüfen Sie die unsicheren Code Kontrollkästchen zulassen, dann kompilieren und ausführen.

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); 
     } 
    } 
} 

Ausgang:

Data is 10 
Address is 1831848 
113

Hier ist ein Screenshot:

Unsafe screenshot

+3

Wichtig: Beachten Sie auch, dass dieser Screenshot für "Konfiguration: Aktiv (Debug)" ist. Sie müssen es wahrscheinlich auch für "Release" ändern, da dies höchstwahrscheinlich das ist, was Sie veröffentlichen. –