Perché viene visualizzato l'errore "Il codice non sicuro può essere visualizzato solo se si compila con / non sicuro"?


140

Perché visualizzo il seguente errore?

Il codice non sicuro può apparire solo se si compila con / unsafe "?

Lavoro in C # e Visual Studio 2008 per la programmazione su Windows CE.



Risposte:


274

Per utilizzare blocchi di codice non sicuri, il progetto deve essere compilato con l'opzione / unsafe su.

Apri le proprietà del progetto, vai alla Buildscheda e seleziona la Allow unsafe codecasella di controllo.


4
Devo dire, anche se ciò consente la compilazione della build, ma non le consente di essere pubblicata sul web: /
Nick,

5
@Nick: Sì, se pubblichi il codice da compilare in modo dinamico, le impostazioni del progetto non si applicano. Vedere stackoverflow.com/questions/16567197/...
Guffa

9
Si noti che le impostazioni potrebbero differire tra la compilazione Debug e Release. Mi è costato solo 20 minuti della mia vita.
LosManos,

Semplice soluzione rapida..grande.
Kalher

131

Ecco uno screenshot:

Schermata non sicura

ََََََََ


8
Importante: tenere presente che questa schermata è relativa a "Configurazione: attiva (debug)". Probabilmente dovrai anche cambiarlo per "Release", poiché è molto probabilmente quello che stai pubblicando.
Doug S,

4

Probabilmente perché stai usando un codice non sicuro.

Stai facendo qualcosa con puntatori o assiemi non gestiti da qualche parte?


4

Cerca nel tuo codice unsafeblocchi o istruzioni. Questi sono validi solo è compilato con /unsafe.


3

Per usare blocchi di codice non sicuri, apri le proprietà del progetto, vai alla scheda Genera e seleziona la casella di controllo Consenti codice non sicuro , quindi compila ed esegui.

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

Produzione:

Data is 10
Address is 1831848

3

Per tutti coloro che usano Rider devi selezionare il tuo progetto> Tasto destro> Proprietà> Configurazioni Quindi selezionare Debug e Rilascio e selezionare "Consenti codice non sicuro" per entrambi .Immagine dello schermo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.