2010-01-08 34 views

Respuesta

200

Para utilizar bloques de código inseguros, el proyecto debe compilarse con el interruptor/inseguro activado.

Abra las propiedades del proyecto, vaya a la pestaña Build y marque la casilla Allow unsafe code.

+3

Debo decir que, aunque eso habilita la compilación para compilar, aún no permite que se publique en la web:/ – Nick

+3

@Nick: Sí, si publica código para ser compilado dinámicamente, la configuración del proyecto no no aplica Consulte http://stackoverflow.com/questions/16567197/asp-net-publish-web-application-with-unsafe-code – Guffa

+4

Tenga en cuenta que la configuración puede variar entre Debug y Release compile. Esto solo me costó 20 minutos de mi vida. – LosManos

4

Probablemente porque usted está utilizando insegura código.

¿Estás haciendo algo con punteros o asambleas no administrados en alguna parte?

3

Busque su código f o unsafe bloques o declaraciones. Estos son solo válidos compilados con /unsafe.

2

utilizar bloques de código no seguro, abra las propiedades para el proyecto, vaya a la pestaña Build y marque la casilla de verificación Permitir insegura código, a continuación, compilar y ejecutar.

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

Salida:

Data is 10 
Address is 1831848 
113

Aquí está una captura de pantalla:

Unsafe screenshot

+3

Importante: también tenga en cuenta que esta captura de pantalla es para "Configuración: Activa (Depuración)". Probablemente también deba cambiarlo por "Liberar", ya que es muy probable que sea lo que está publicando. –

Cuestiones relacionadas