2009-05-13 26 views
14

Tengo el código VB.NET en Visual Studio 2008 utilizando un método obsoleto y me gustaría suprimir la advertencia. Desafortunadamente, seguir la recomendación no es una buena solución, ya que requiere el uso de una clase diferente, que funciona de manera diferente, de manera importante.Suprimir advertencias obsoletas en VB.NET

Estoy tratando de suprimir la advertencia usando System.Diagnostics.CodeAnalysis.SuppressMessage, pero no sé qué escribir como los parámetros para el atributo y no puedo encontrar ninguna referencia relevante.

También debería decir que, al hacer clic derecho en el error en la lista de errores, no tengo la opción 'Suprimir mensaje'.

+3

cosas obsoletos son generalmente obsoletos por una razón sin embargo, y por lo que debería tener un "TODO" en el código para recordarle que debe actualizar el método a la nueva forma, tan pronto como usted tiene alguna libre desarrollo ciclos. – DevinB

+2

Desafortunadamente, no hay forma de eliminar el código obsoleto sin romper la compatibilidad con versiones anteriores. –

Respuesta

18

Si está usando Visual Studio puede hacer lo siguiente.

  1. Haga clic derecho sobre el proyecto y seleccione "Descargar"
  2. Haga clic derecho sobre el proyecto y seleccione "Editar SomeProjectName.vbproj"
  3. Debería ver dos etiquetas de elemento XML con el nombre de "nowarn". Añadir el número 40000 a la lista de números que ya están presentes (asegúrese de hacer esto para cada etiqueta nowarn en el archivo)
  4. Guardar el archivo
  5. Haga clic derecho sobre el proyecto y seleccione recarga (que tendrá que cerrar la archivo .vbproj)

Esto eliminará la advertencia. El número 40000 es el número de error de VB.Net para la advertencia de obselete. Puede suprimir cualquier advertencia de esta manera.

Nota: Si la etiqueta no está presente nowarn, agregarlo al elemento principal PropertyGroup con los siguientes valores

<NoWarn>40000</NoWarn> 
+3

Tenga en cuenta que esto eliminará _todas las advertencias obsoletas en su proyecto, no solo esta instancia ... – bdukes

+0

También tenga en cuenta que debe eliminar las etiquetas NoWarn vacías del grupo principal para que esto funcione. –

4

En VS.NET puede hacer clic derecho y suprimir las advertencias de análisis de código. Esto agregará el atributo para ti.

Sin embargo, la advertencia "no usar API obsoletas" no proviene del análisis de código, por lo que el atributo de SurpressMessage no funcionará. Esta es una advertencia del compilador.

Para VS.NET que había necesidad de apagar esta advertencia con ...

/nowarn:0618 

... en la línea de comandos (o simplemente agregando "0618" en el campo Advertencias reprimir en la csproj propiedades). Debería hacer lo mismo con el número de advertencia de VB.

+0

No tengo esa opción, por alguna razón. Pensé en agregar esa información demasiado tarde :( –

+0

Actualicé mi respuesta - esto no es una advertencia de CA (¿verdad?) –

+0

@Martin, es correcto, es una advertencia del compilador. – JaredPar

0

yo era capaz de resolver este con la respuesta de JaredPar en mi proyecto de VB, gracias!

Yo tuve misma advertencia para mi proyecto de prueba C# que me separó por adición de 618 en la sección de aviso de supresión de construir pestaña en las propiedades del proyecto.

Recuerde que los códigos de error para VB y C# son diferentes.


Si desea corregir estas advertencias, entonces es necesario instalar y utilizar ODP.NET para Microsoft OracleClient Developers

Microsoft está desaprobando System.Data.OracleClient, también conocido como Microsoft OracleClient. Los desarrolladores de proveedores Microsoft OracleClient pueden aprovechar esta oportunidad para reevaluar qué proveedor de datos usar para proyectos actuales y futuros. Oracle recomienda comenzar a construir nuevas aplicaciones Oracle .NET con Oracle Data Provider para .NET (ODP.NET) y migrar aplicaciones existentes a ODP.NET.

http://www.oracle.com/technetwork/topics/dotnet/index-085703.html

Cuestiones relacionadas