Domanda

Sto creando un pacchetto di WSP in Visual Studio 2010 per distribuire la mia funzione per l'ambiente Sharepoint 2007 su una scatola di Windows 2003 Server. Attualmente, il file XML che fa riferimento l'assembly contenente il codice che ho scritto si fa riferimento dal GAC. Quello che mi piacerebbe fare è fare in modo questo file WSP aggiungerà la dll per l'assemblaggio automatico e quindi fare riferimento in modo che il funzione può essere installato correttamente. È possibile? Se sì, come si fa?

Ho il mio file ListManifest.xml come segue:

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Receivers ListTemplateId="101">
    <Receiver>
        <Name>AddedEventHandler</Name>
        <Type>ItemAdded</Type>
        <SequenceNumber>10000</SequenceNumber>
        <Assembly DeploymentTarget="GlobalAssemblyCache" Location="SPEventHandler.dll"/>
        <Class>SPEventHandler.ItemAddedHandler</Class>
        <Data></Data>
        <Filter></Filter>
    </Receiver>
</Receivers>

Come si può vedere, si fa riferimento al SPEventHandler assembly nella Global Assembly Cache, ma mi piacerebbe il programma per avere il mio DLL incluso nel montaggio, inserirlo nella GAC ??e fanno riferimento.

Grazie per il vostro aiuto in anticipo.

file mia DDF:

.OPTION Explicit ; Generate errors
.Set DiskDirectory1="..\bin"
.Set CabinetNameTemplate="ChangeContentType.wsp"

manifest.xml
.Set DestinationDir="List\ListTemplates"
List\ListTemplates\ListManifest.xml ; specify cab file name
.Set DestinationDir="List\Messages"
List\Messages\schema.xml
.Set DestinationDir="List"
List\Feature.xml
..\bin\SPEventHandler.dll SPEventHandler.dll

manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<Solution xmlns="http://schemas.microsoft.com/sharepoint/"
   SolutionId="F9850E13-81B6-47E1-BBC6-42AC70A903C3" >
   <FeatureManifests>
       <FeatureManifest Location="List\Feature.xml"/>
   </FeatureManifests>
</Solution>
È stato utile?

Soluzione

Se create un pacchetto vostra WSP manualmente, allora avete bisogno di includere la DLL nel file DDF, per es.

bin\Debug\MyFile.dll MyFile.dll

e si include l'assembly nella manifesto della soluzione, per esempio.

<Assemblies>
  <Assembly DeploymentTarget="GlobalAssemblyCache" Location="MyFile.dll" />
</Assemblies>

Ecco un MSDN di riferimento

Se non si vuole fare questo manualmente, è possibile dare un'occhiata a WSPBuilder .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top