Domanda

Ho creato un modello BDC e distribuirlo attraverso una funzione. La funzione deve avere un SiteUrl come specificato nella funzionalità XML di seguito. Tuttavia quando mi muovo la funzione da dire che lo sviluppo di test di accettazione o di ambiente di produzione, allora la SiteUrl causerà un conflitto e il pacchetto WSP non potrà essere installata.

Ora, questo non è molto utile dal momento che ho a uno ogni volta che riassembla ambiente mi muovo o giocherellare con URL / mapping di accesso alternativo negli ambienti. Mio è questione ci sono approcci pratici a questo problema? Finora l'unico approccio che ho potuto pensare è uno script di generazione personalizzata. Sicuramente ci deve essere qualcosa di più maneggevole ...

<Feature xmlns="http://schemas.microsoft.com/sharepoint/" Description="This feature installs the BDC Models for the Business Connectivity Service" Id="83af2a77-02f5-4391-8bf5-917addc8029d" ReceiverAssembly="Microsoft.Office.SharePoint.ClientExtensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" ReceiverClass="Microsoft.Office.SharePoint.ClientExtensions.Deployment.ImportModelReceiver" Scope="Farm" Title="Foobar.SharePoint.BCS BDC Models">
  <Properties>
    <Property Key="SiteUrl" Value="http://sparked-dev:9999" />
    <Property Key="IncrementalUpdate" Value="true" />
    <Property Key="ModelFileName" Value="SmartAppBDCModel\SmartAppBDCModel.bdcm" />
    <Property Key="SmartAppBDCModel" Value="BdcAssemblies\Foobar.SharePoint.BCS.dll" />
  </Properties>
  <ElementManifests>
    <ElementFile Location="SmartAppBDCModel\SmartAppBDCModel.bdcm" />
    <ElementFile Location="BdcAssemblies\Foobar.SharePoint.BCS.dll" />
  </ElementManifests>
</Feature>
È stato utile?

Soluzione

questo è un bug . Una possibile soluzione è quella di utilizzare http: // localhost / come URL, ma penso che questo possa ancora ottenere sovrascritto da VS quando si prossimo aprire il progetto. In questo caso un'azione di generazione personalizzata può essere la strada da percorrere per il momento.

Altri suggerimenti

Ho anche stubled su questo problema e trovato la risposta in questo post: http://www.silver-it.com/node/92 .

Si propone principalmente i seguenti:

  • Rimuovere l'associazione al ricevitore evento dal modello (proprietà "Caratteristica Reeiver" del progetto BDC)
  • Modifica la funzione esistente che distribuisce il modello BDC, Aggiungere un ricevitore di eventi ad esso
  • Creare una nuova classe che deriva da ImportModelReceiver (consente di chiamare CustomBdcDeployment)
  • In FeatureActivated della vostra funzione di impostare la proprietà (dell'istanza di SPFeatureReceiverProperties si viene passato nel metodo FeatureActivated) SiteUrl al valore desiderato (ottiene da dove vuoi). Creare un'istanza della classe personalizzata craeted sopra (CustomBdcDeployment) e passa l'istanza modificata del SPFeatureReceiverProperties al suo metodo FeatureActivated.
  • Nella FeatureDeactivating fare più o meno lo stesso come il FeatureActivated. Impostare la SiteUrl struttura al valore desiderato e passare le proprietà per FeatureDeactivating di una nuova istanza di CustomBdcDeployment.

il gioco è fatto.

Se siete alla ricerca per l'aggiornamento del connettore BDC DLL programatically attraverso il codice, allora si prega di consultare questo link: -

http: // blog. techperspect.com/2013/12/how-to-update-bdc-bcs-custom-connector.html

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