Fornire informazioni sulla creazione di pacchetti e sulla distribuzione negli elementi del progetto
Tutti gli elementi del progetto SharePoint in Visual Studio dispongono di proprietà che è possibile usare per fornire dati aggiuntivi quando il progetto viene distribuito in SharePoint. Di seguito sono riportate le proprietà:
Proprietà di funzionalità
Ricevitori di funzionalità
Riferimenti all'output del progetto
Voci di controllo sicure
Queste proprietà vengono visualizzate nella finestra Proprietà .
Proprietà delle funzionalità
Utilizzare la proprietà Proprietà funzionalità per specificare i dati utilizzati dalla funzionalità. I dati delle proprietà delle funzionalità sono un set di valori (archiviati come coppie chiave/valore) inclusi in una funzionalità quando viene distribuita in SharePoint. Dopo la distribuzione della funzionalità, è possibile accedere ai valori della proprietà nel codice.
Quando si aggiunge un valore della proprietà della funzionalità a un elemento di progetto, il valore viene aggiunto come elemento nel manifesto della funzionalità dell'elemento. In un progetto di modello BDC (Business Data Connessione ivity), ad esempio, la proprietà della funzionalità ModelFileName viene visualizzata come segue:
<Property Key="ModelFileName" Value="BdcModel1\BdcModel1.bdcm" />
Dopo aver impostato un valore della proprietà feature, viene aggiunto come elemento FeatureProperty nel file spdata del progetto. Per informazioni sull'accesso alle proprietà in SharePoint, vedere Classe SPFeaturePropertyCollection.
I valori delle proprietà di funzionalità identici di tutti gli elementi del progetto vengono uniti nel manifesto della funzionalità. Tuttavia, se due elementi di progetto diversi specificano la stessa chiave della proprietà della funzionalità con valori non corrispondenti, si verifica un errore di convalida.
Per aggiungere proprietà di funzionalità direttamente al file di funzionalità (con estensione feature), chiamare il metodo Adddel modello a oggetti di Visual Studio SharePoint . Se si usa questo metodo, tenere presente che la stessa regola relativa all'aggiunta di valori identici delle proprietà di funzionalità in Proprietà funzionalità si applica anche alle proprietà aggiunte direttamente al file di funzionalità.
Ricevitore di funzionalità
I ricevitori di funzionalità sono codice che viene eseguito quando si verificano determinati eventi alla funzionalità contenitore di un elemento di progetto. Ad esempio, è possibile definire ricevitori di funzionalità che vengono eseguiti quando la funzionalità viene installata, attivata o aggiornata. Un modo per aggiungere un ricevitore di funzionalità consiste nell'aggiungerlo direttamente a una funzionalità, come descritto in Procedura dettagliata: Aggiungere ricevitori di eventi di funzionalità. Un altro modo consiste nel fare riferimento al nome e all'assembly di una classe ricevitore di funzionalità nella proprietà Ricevitore funzionalità.
Metodo diretto
Quando si aggiunge direttamente un ricevitore di funzionalità a una funzionalità, un file di codice viene inserito nel nodo Funzionalità in Esplora soluzioni. Quando si compila la soluzione SharePoint, il codice viene compilato in un assembly e viene distribuito in SharePoint. Per impostazione predefinita, le proprietà della funzionalità Assembly ricevitore e classe ricevitore fanno riferimento al nome e all'assembly della classe.
Reference (metodo)
Un altro modo per aggiungere un ricevitore di funzionalità consiste nell'usare la proprietà Ricevitore funzionalità di un elemento di progetto per fare riferimento a un assembly ricevitore di funzionalità. Il valore della proprietà Feature Receiver ha due sottoproprietà: Assembly e Class Name. L'assembly deve usare il nome completo "sicuro" e il nome della classe deve essere il nome completo del tipo. Per altre informazioni, vedere Assembly con nomi sicuri. Dopo aver distribuito la soluzione in SharePoint, la funzionalità usa il ricevitore di funzionalità di riferimento per gestire gli eventi delle funzionalità.
In fase di compilazione della soluzione, i valori delle proprietà del ricevitore di funzionalità nella funzionalità e i relativi progetti si uniscono per impostare gli attributi ReceiverAssembly e ReceiverClass dell'elemento Feature nel manifesto della funzionalità del file della soluzione SharePoint (con estensione wsp). Pertanto, se i valori della proprietà Assembly e Class Name di un elemento di progetto e una funzionalità sono entrambi specificati, i valori dell'elemento del progetto e delle proprietà della funzionalità devono corrispondere. Se i valori non corrispondono, si riceverà un errore di convalida. Se si desidera che un elemento di progetto faccia riferimento a un assembly ricevitore di funzionalità diverso da quello usato da una funzionalità, spostarlo in un'altra funzionalità.
Se si fa riferimento a un assembly ricevitore di funzionalità che non è già presente nel server, è necessario includere anche il file di assembly stesso nel pacchetto; Visual Studio non lo aggiunge. Quando si distribuisce la funzionalità, il file di assembly viene copiato nella Global Assembly Cache (GAC) del sistema o nella cartella Bin nella directory fisica di SharePoint. Per altre informazioni, vedere Procedura: Aggiungere e rimuovere assembly aggiuntivi.
Per altre informazioni sui ricevitori di funzionalità, vedere Ricevitore di eventi di funzionalità ed eventi di funzionalità.
Riferimenti all'output del progetto
La proprietà Project Output References specifica una dipendenza, ad esempio un assembly, che l'elemento di progetto deve essere eseguito. Si supponga, ad esempio, che la soluzione abbia un progetto BDC e un progetto di classe. Se il progetto BDC ha una dipendenza dall'assembly restituito dal progetto di classe, è possibile fare riferimento all'assembly nella proprietà Project Output References del progetto BDC. Quando il progetto BDC viene incluso nel pacchetto, l'assembly dipendente viene incluso nel pacchetto.
I riferimenti all'output del progetto sono in genere assembly, ma in alcuni casi , ad esempio i progetti Silverlight, possono essere altri tipi di file.
Per altre informazioni, vedere Procedura: Aggiungere un riferimento all'output del progetto.
Cassaforte voci di controllo
SharePoint fornisce un meccanismo di sicurezza, denominato voci di controllo sicuro, per limitare l'accesso di utenti non attendibili a determinati controlli. Per impostazione predefinita, SharePoint consente agli utenti non attendibili di caricare e creare pagine ASPX nel server SharePoint. Per impedire a questi utenti di aggiungere codice non sicuro alle pagine ASPX, SharePoint limita l'accesso ai controlli sicuri. Cassaforte controlli sono controlli ASPX e web part designate come sicure e utilizzabili da qualsiasi utente del sito. Per altre informazioni, vedere Passaggio 4: Aggiungere la web part all'elenco dei controlli Cassaforte.
Ogni elemento del progetto SharePoint in Visual Studio ha una proprietà denominata Cassaforte Voci di controllo con due proprietà secondarie booleane: Cassaforte e Cassaforte su script. Con la proprietà Sicuro viene specificato se gli utenti non attendibili possono accedere a un controllo. La proprietà Cassaforte Against Script specifica se gli utenti non attendibili possono visualizzare e modificare le proprietà di un controllo.
Cassaforte voci di controllo vengono a cui viene fatto riferimento in base all'assembly. È possibile aggiungere voci di controllo sicure all'assembly di un progetto immettendole nella proprietà Cassaforte Voci di controllo dell'elemento di progetto. Tuttavia, è anche possibile aggiungere voci di controllo sicure all'assembly di un progetto tramite la scheda Avanzate in Progettazione pacchetti quando si aggiunge un assembly aggiuntivo al pacchetto. Per altre informazioni, vedere Procedura: Contrassegnare i controlli come controlli sicuri o Registrare un assembly web part come controllo Cassaforte.
Voci XML per controlli sicuri
Quando si aggiunge una voce di controllo sicura a un elemento di progetto o all'assembly del progetto, viene scritto un riferimento al manifesto del pacchetto nel formato seguente:
<Assemblies>
<Assembly Location="<assembly name>.dll"
DeploymentTarget="<'GlobalAssemblyCache' or 'WebApplication'">>
<SafeControls>
<SafeControl Assembly="<assembly name>.dll" Namespace=
"<SharePoint project name>" Safe="<true/false>"
TypeName="<control name>"
SafeAgainstScript="<true/false>" />
</SafeControls>
</Assembly>
</Assemblies>