Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to suppress compiler warnings from the use of COM references in a .NET project

We're using the Windows COM+ Services Type Library (located at C:\Windows\system32\COMSVCS.dll) to track COM+ processes on a remote machine using a service that is written in C# 3.0/.NET 3.5. The problem that I am encountering is that I am getting a whole slew of warnings from the compiler that look something like the following:

At least one of the arguments for 'IGetAppData.GetApps' cannot be marshaled by the runtime marshaler. Such arguments will therefore be passed as a pointer and may require unsafe code to manipulate.

The generated interop function signature for the method mentioned above is:

void IGetAppData.GetApps(out uint nApps, IntPtr aAppData)

As the output is already being marshalled manually in the calling code (i.e. using Marshall.ReadInt32 and Marshall.PtrToStructure), is there a way to suppress these type of warnings?

like image 499
jpoh Avatar asked Dec 30 '22 19:12

jpoh


1 Answers

Add this line in first property group of your project file:

<ResolveComReferenceSilent>True</ResolveComReferenceSilent>
like image 78
Igor Tkachenko Avatar answered Jan 29 '23 20:01

Igor Tkachenko