Bir projeyi .NET 1.1'den .NET 2.0'a taşıdıktan sonra, MsBuild bazı COM nesneleri için çok fazla uyarı gönderir. Test içinCOM nesneleri ActiveDs veya MSXML2 başvurulan bir çok yapılandırma uyarısı
Örnek kod (gerçek kod, sadece uyarıları oluşturmak için kullanılan önemli değil):
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);
}
}
}
Uyarı mesajları
C benziyor: \ WINDOWS \ Microsoft.NET Framework \ \ v2.0.50727 \ Microsoft.Common.targets: uyarı: 'ITypeLib.RemoteGetLibAttr' argümanlarından en az biri çalışma zamanı çizelgesi tarafından ayarlanamaz. Bu tür argümanlar bu nedenle bir işaretçi olarak geçirilecek ve manipüle edilecek güvenli olmayan kod gerektirebilir.
Gözlemler:
- Activeds (11 uyarılar) ve MSXML2 (54 uyarılar) için olur.
- Kendi COM nesnelerine bakma. .Csproj dosyasında
<Reference>
giriş Bütün uyarılara rağmen ÖzellikWrapperTool = "tlbimp"
- içeren, sorun yok çalışan sistemde gözlenmiştir.
Uyarılardan nasıl kurtulacağına dair bir fikriniz var mı?
Hiç bunu anlamaya başladınız mı? – Mario
Maalesef, hayır. – gyrolf