Después de mover un proyecto de .NET 1.1 a .NET 2.0, MsBuild emite muchas advertencias para algunos objetos COM.Muchas advertencias de compilación cuando se hace referencia a objetos COM ActiveDs o MSXML2
Código de la muestra para la prueba (código real no importa, sólo se utiliza para crear las advertencias):
using System;
using System.DirectoryServices;
using ActiveDs;
namespace Test
{
public class Class1
{
public static void Main(string[] args)
{
string adsPath = String.Format("WinNT://{0}/{1}", args[0], args[1]);
DirectoryEntry localuser = new DirectoryEntry(adsPath);
IADsUser pUser = (IADsUser) localuser.NativeObject;
Console.WriteLine("User = {0}", pUser.ADsPath);
}
}
}
Los mensajes de advertencia se ven como
C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Microsoft.Common.targets: advertencia: al menos uno de los argumentos para 'ITypeLib.RemoteGetLibAttr' no puede ser ordenado por el marcador de tiempo de ejecución. Por lo tanto, dichos argumentos se pasarán como un puntero y pueden requerir la manipulación de un código inseguro.
Observaciones:
- sucede por Activeds (11 cuidado) y MSXML2 (54 advertencias).
- No se ha visto para nuestros propios objetos COM.
<Reference>
entrada en el fichero contiene .csproj atributoWrapperTool = "tlbimp"
- A pesar de todas las advertencias, no se han observado problemas en el sistema en funcionamiento.
¿Alguna idea de cómo deshacerse de las advertencias?
¿Alguna vez se las arreglaron para resolver esto? – Mario
Lamentablemente, no. – gyrolf