Question

J'ai créé un modèle BDC et le déployer grâce à une fonctionnalité. La fonction doit avoir un SiteUrl comme spécifié dans la fonction XML ci-dessous. Cependant, lorsque je déplace la fonction de dire le développement à l'essai, l'acceptation ou de l'environnement de production, le SiteUrl provoquera un conflit et le paquet WSP ne parviendra pas à installer.

Maintenant, ce n'est pas très pratique car je dois soit reconditionner chaque environnement I se déplacent temps ou jouer avec des URL / Autres Mappages d'accès dans les environnements. Ma question est ce qu'il ya des approches pratiques à ce problème? Jusqu'à présent, la seule approche que je pouvais penser est un script de compilation personnalisée. Certes, il doit y avoir quelque chose de plus pratique ...

<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>
Était-ce utile?

La solution

c'est bug . est d'utiliser une solution http: // localhost / l'URL, mais je pense que cela peut encore obtenir écrasé par VS lorsque vous la prochaine ouverture du projet. Dans ce cas, une action de construction personnalisée peut être la voie à suivre pour l'instant.

Autres conseils

J'ai aussi stubled sur ce problème et trouvé la réponse dans cet article: http://www.silver-it.com/node/92 .

Elle propose principalement les éléments suivants:

  • Supprimer l'association au récepteur d'événements du modèle (propriété « Feature Reeiver » du projet BDC)
  • Modifier la fonctionnalité existante qui déploie le modèle BDC, Ajouter un récepteur d'événement pour ce
  • Créer une nouvelle classe qui dérive de ImportModelReceiver (Appelons il CustomBdcDeployment)
  • Dans FeatureActivated de votre fonction définissez la propriété (de l'instance de SPFeatureReceiverProperties vous répercutés dans la méthode FeatureActivated) SiteUrl à la valeur dont vous avez besoin (l'obtenir où que vous voulez). Créer une instance de votre classe personnalisée craeted ci-dessus (CustomBdcDeployment) et passer l'instance modifiée de SPFeatureReceiverProperties à sa méthode FeatureActivated.
  • Dans la FeatureDeactivating faire à peu près la même chose que sur FeatureActivated. Définissez la SiteUrl de propriété sur la valeur dont vous avez besoin et de transmettre les propriétés à FeatureDeactivating d'une nouvelle instance de CustomBdcDeployment.

c'est tout.

Si vous êtes à la recherche pour la mise à jour DLL de connecteur BDC par le code puis programatically s'il vous plaît vérifier ce lien: -

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top