File: EditAndContinue\DebuggerContractVersionCheck.cs
Web Access
Project: ..\..\..\src\EditorFeatures\Core\Microsoft.CodeAnalysis.EditorFeatures.csproj (Microsoft.CodeAnalysis.EditorFeatures)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
 
using System;
using System.Runtime.CompilerServices;
using Microsoft.VisualStudio.Debugger.Contracts.HotReload;
 
namespace Microsoft.CodeAnalysis.EditAndContinue
{
    /// <summary>
    /// Allow us to run integration tests on older VS than build that has the required version of Microsoft.VisualStudio.Debugger.Contracts.
    /// </summary>
    internal static class DebuggerContractVersionCheck
    {
        public static bool IsRequiredDebuggerContractVersionAvailable()
        {
            try
            {
                _ = LoadContracts();
                return true;
            }
            catch
            {
                return false;
            }
        }
 
        [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
        private static Type LoadContracts()
            => typeof(ManagedActiveStatementUpdate);
    }
}