Comment vider les modifications incorrectes de SPWebConfigModifications

Comment puis-je supprimer les modifications non valides de SPWebConfigModifications?

J'ai essayé d'exécuter quelques modifications non valides dans le cadre d'une solution et maintenant je ne peux pas m'en débarrasser, chaque fois que j'applique ApplyWebConfigModifications il essaye d'exécuter les modifications invalides.

Comment les rincer du système?

0

1 Réponses

Pour référence future (après avoir cogné ma tête sur le mur pendant 3 jours):

Vous pouvez utiliser cet outil:

http: //ianankers.wordpress. com/2011/07/14/web-config-modification-manager-pour-sharepoint-2010/

Il listera tous les mods pour chaque WebApp installée dans votre batterie, vous pouvez en ajouter de nouveaux et en supprimer d'anciens.

L'outil liste uniquement les modifications au niveau de la webapp, si vous avez installé des mods au niveau de la ferme, vous devez exécuter un script comme:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Navigation;
using Microsoft.SharePoint.Administration;

namespace ModTool
{
    class Program
    {
        static void Main(string[] args)
        {

            SPSite site = new SPSite(args[0]);
            SPWebService service = site.WebApplication.Farm.Services.GetValue();


            if (args.Length == 1 || string.IsNullOrEmpty(args[1]))
            {
                Console.Out.WriteLine("Listing all Mods and Owners");
                foreach (SPWebConfigModification mod in service.WebConfigModifications)
                {
                    Console.Out.WriteLine("Mod:" + mod.Name + ", Owner:" + mod.Owner);
                }
            }
            else
            {
                Console.Out.WriteLine("Removing all mods owner:" + args[1] + ", reference site:" + args[0]);

                List toDelete = new List();

                foreach (SPWebConfigModification mod in service.WebConfigModifications)
                {
                    if (mod.Owner == args[1])
                    {
                        toDelete.Add(mod);
                    }
                }

                Console.Out.WriteLine("Found " + toDelete.Count + "Mods");



                foreach (SPWebConfigModification mod in toDelete)
                {
                    service.WebConfigModifications.Remove(mod);
                }
                service.Update();
                SPWebService.ContentService.ApplyWebConfigModifications();
                Console.Out.WriteLine("Done!!");
            }
        }
    }
}

Usage:

ModTool http://site - List all the mods for the farm, site is just an entry point
ModTool http://site owner -Deletes all the mods for the far wich owner is "owner"
0
ajouté