1 // Copyright (c) Microsoft. All rights reserved.
2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3 
4 using System.Runtime.InteropServices;
5 using System.Diagnostics.CodeAnalysis;
6 
7 namespace Microsoft.Build.Framework
8 {
9     /// <summary>
10     /// This empty interface is used to pass host objects from an IDE to individual
11     /// tasks.  Depending on the task itself and what kinds parameters and functionality
12     /// it exposes, the task should define its own interface that inherits from this one,
13     /// and then use that interface to communicate with the host.
14     /// </summary>
15     [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
16     [ComVisible(true)]
17     [Guid("9049A481-D0E9-414f-8F92-D4F67A0359A6")]
18     [SuppressMessage("Microsoft.Design", "CA1040:AvoidEmptyInterfaces", Justification = "This empty interface is used to pass host objects from an IDE to individual")]
19     public interface ITaskHost
20     {
21     }
22 }
23