Creazione di pacchetti di più funzionalità in un unico file di soluzione WSP
-
05-09-2019 - |
Domanda
Sto lavorando su una funzionalità di SharePoint che include un paio di definizioni di elenchi, 2 webpart, un assembly di ricevitore di funzionalità e un modulo di InfoPath.
Devo utilizzare WSPBuilder per comprimerli e il requisito è comprimere tutte queste funzionalità in un unico file di soluzione WSP.
Ora, il builder WSP richiede i file di distribuzione in una particolare struttura di cartelle, uguale a 12 Hive di SharePoint.
Il mio problema è che tutte le mie funzionalità sono state sviluppate separatamente e consistono in più file di progetto che non si trovano necessariamente nella stessa struttura di cartelle.
Come posso utilizzare WSP Builder per raggruppare più funzionalità in un'unica soluzione WSP?
Soluzione
Forse questo aiuterà: http: //www.codeplex. com / WSPBuilder / Discussione / View.aspx? ThreadId = 43125
In definitiva, credo che si guadagna un sacco di flessibilità costruendo i propri file WSP utilizzando uno strumento come NANT.
Altri suggerimenti
Non c'è alcuna azione particolare è necessario intraprendere WSPBuilder avere più funzioni nello stesso pacchetto della soluzione. Tutto quello che devi fare è creare una nuova cartella per ogni caratteristica sotto il 12 \ Template \ CARATTERISTICHE cartella all'interno la soluzione in Visual Studio e posizionare il file Feature.xml appropriata in quella cartella. Ad esempio, si può avere:
12 \ TEMPLATE \ FEATURES \ FancyFeature \ Feature.xml 12 \ TEMPLATE \ FEATURES \ ReallyCoolFeature \ feature.xml
... e così via.
Al momento la costruzione della soluzione, WSPBuilder leggerà l'intera struttura ad albero della cartella 12 e aggiungere i nodi corrispondenti nel file di manifest.xml del WSP. Lo stesso vale per tutte le altre sottocartelle possibili all'interno della cartella "template", incluse le immagini, layout, ecc: in fase di distribuzione saranno tutti copiati nella cartella corretta all'interno del vero e proprio 12 alveare, perché la cartella 12 all'interno della vostra soluzione è destinata a essere una replica di quella originale.
Per una migliore comprensione, creare alcune cartelle e file all'interno della cartella 12 nella soluzione di Visual Studio, compilare il progetto e guardare dentro il file generato manifest.xml.
La risposta semplice è che dovrai copiare tutti i file dai singoli progetti in un progetto principale per la tua soluzione.Finché tutti i file delle singole funzionalità si trovano nella posizione corretta nella cartella "12", sarai a posto.
Nota: Dovrai controllare tutti i riferimenti a qualsiasi assembly poiché questa soluzione creerà 1 assembly per tutta la tua logica personalizzata.
Ho avuto problemi aggiungendo dll alla WSP così ho scritto un breve articolo su di esso: Come aggiungere DLL a una soluzione WSP
Di solito ho un progetto nella soluzione designato come il "principale" uno. Ho impostato le dipendenze in modo che questo progetto "principale" è costruito per ultimo. Poi per gli altri progetti che voglio essere incluso nel pacchetto WSP, posso modificare il "Post Eventi di generazione" per xcopy il contenuto della cartella 12 e che le DLL costruite dai progetti in cartelle corrispondenti per il progetto principale. Poi dopo ho costruire l'intera soluzione, posso costruire il pacchetto WSP per il progetto principale e sapere che contiene tutto.