/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/VisualStudio/CSharp/Impl/ProjectSystemShim/Interop/ICSharpProjectRoot.cs
77 строк
3 KB
Cyrus Najmabadi
Use file scoped namespaces. (#77854)
27 мар 2025, 09:55
Не верифицирован
27 мар 2025, 09:55
98d41b8
Код
Авторство
О чём код?
// 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. #nullable disable // <auto-generated/> using System; using System.Runtime.InteropServices; using Microsoft.VisualStudio.Shell.Interop; namespace Microsoft.VisualStudio.LanguageServices.CSharp.ProjectSystemShim.Interop; [ComImport] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] [Guid(Guids.CSharpProjectRootIdString)] internal interface ICSharpProjectRoot { // Sets the site for this project object. void SetProjectSite(ICSharpProjectSite site); // Get the site object for this project (any interface; IID_ICSharpProjectSite is // guaranteed) [return: MarshalAs(UnmanagedType.IUnknown)] object GetProjectSite([In] ref Guid riid); // Returns the path containing the project file. [return: MarshalAs(UnmanagedType.BStr)] string GetProjectLocation(); // Returns the full path name of the project file, or some other entity which is guaranteed // to be unique across all open projects. [return: MarshalAs(UnmanagedType.BStr)] string GetFullProjectName(); // Determines whether the given file is contained in this project [PreserveSig] int BelongsToProject([MarshalAs(UnmanagedType.LPWStr)] string pszFileName); // Returns the name of the active configuration [return: MarshalAs(UnmanagedType.BStr)] string GetActiveConfigurationName(); // Constructs a suitable name for a per-project per-configuration cache file [return: MarshalAs(UnmanagedType.BStr)] string BuildPerConfigCacheFileName(); // Configure the given compiler and input set objects based on all current // settings of the project, including configuration (debug/retail/goo, etc.) void ConfigureCompiler( [MarshalAs(UnmanagedType.Interface)] ICSCompiler compiler, [MarshalAs(UnmanagedType.Interface)] ICSInputSet inputSet, bool addSources); // Determines whether the project can create a file code model object for the given file bool CanCreateFileCodeModel([MarshalAs(UnmanagedType.LPWStr)] string pszFile); // Create a file code model object for the given file [return: MarshalAs(UnmanagedType.IUnknown)] object CreateFileCodeModel([MarshalAs(UnmanagedType.LPWStr)] string pszFile, [In] ref Guid riid); // Get the VS hierarchy/item ID for the given file [PreserveSig] int GetHierarchyAndItemID( [MarshalAs(UnmanagedType.LPWStr)] string pszFile, [MarshalAs(UnmanagedType.Interface)] out IVsHierarchy ppHier, out uint pItemID); // Get the VS hierarchy/item ID for the given file, optionally for files that are not in // project void GetHierarchyAndItemIDOptionallyInProject( [MarshalAs(UnmanagedType.LPWStr)] string pszFile, [MarshalAs(UnmanagedType.Interface)] out IVsHierarchy ppHier, out uint pItemID, bool mustBeInProject); }