コード例 #1
0
        private static void SetAllUsers(IExtensionHeader header, bool value)
        {
            var prop = header.GetType().GetProperty(nameof(header.AllUsers));

            if (prop != null && prop.CanWrite)
            {
                prop.SetValue(header, value);
            }
        }
コード例 #2
0
        private static void SetIsExperimental(IExtensionHeader header, bool value)
        {
            var prop = GetIsExperimentalProperty(header);

            if (prop != null && prop.CanWrite)
            {
                prop.SetValue(header, value);
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: JakubLinhart/VsixUtil
        private static bool SetAllUsers(IExtensionHeader header, bool allUsers)
        {
            var flags            = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public;
            var allUsersProperty = header.GetType().GetProperty("AllUsers", flags);

            if (allUsersProperty == null || !allUsersProperty.CanWrite)
            {
                return(false);
            }

            allUsersProperty.SetValue(header, allUsers, null);
            return(true);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: radical/roslyn-tools
        private static void RemoveExtensionFromPendingDeletions(WritableSettingsStore settingsStore, IExtensionHeader extensionHeader)
        {
            const string PendingDeletionsCollectionPath = ExtensionManagerCollectionPath + @"\PendingDeletions";
            var          vsixToDeleteProperty           = $"{extensionHeader.Identifier},{extensionHeader.Version}";

            if (settingsStore.CollectionExists(PendingDeletionsCollectionPath) &&
                settingsStore.PropertyExists(PendingDeletionsCollectionPath, vsixToDeleteProperty))
            {
                settingsStore.DeleteProperty(PendingDeletionsCollectionPath, vsixToDeleteProperty);
            }
        }
コード例 #5
0
 private static PropertyInfo GetIsExperimentalProperty(IExtensionHeader header)
 => header.GetType().GetProperty("IsExperimental");