Frage

Ich habe ein BDC -Modell erstellt und über eine Funktion bereitgestellt. Die Funktion muss eine SiteUrl haben, wie in der folgenden Funktion XML angegeben. Wenn ich jedoch die Funktion von der Entwicklung zum Testen, Akzeptanz oder Produktionsumfeld verschiebe, verursacht der SiteUrl einen Konflikt und das WSP -Paket wird nicht installiert.

Dies ist nicht sehr praktisch, da ich jedes Mal, wenn ich die Umgebung bewege oder mit URLs / alternativen Zugriffszuordnungen in den Umgebungen umgepackt habe, neu verpacken muss. Meine Frage ist, ob es nützliche Ansätze für dieses Problem gibt? Bisher ist der einzige Ansatz, den ich mir vorstellen kann, ein benutzerdefiniertes Build -Skript. Sicherlich muss es etwas Handier geben ...

<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>
War es hilfreich?

Lösung

Offenbar Dies ist ein Fehler. Eine mögliche Lösung ist zu verwenden http: // localhost/ Als URL, aber ich denke, das wird möglicherweise immer noch von VS überschrieben, wenn Sie das Projekt als nächstes öffnen. In diesem Fall kann eine benutzerdefinierte Build -Aktion vorerst der richtige Weg sein.

Andere Tipps

Ich habe auch dieses Problem überlegt und die Antwort in diesem Beitrag gefunden:http://www.silver-it.com/node/92.

Es schlägt hauptsächlich Folgendes vor:

  • Entfernen Sie den Assoziation zum Ereignisempfänger aus dem Modell (Eigenschaft "Feature Reeiver" des BDC -Projekts).
  • Bearbeiten Sie die vorhandene Funktion, die das BDC -Modell bereitstellt, und fügen Sie einen Ereignisempfänger hinzu
  • Erstellen Sie eine neue Klasse, die von ImportModelReceiver abgeleitet ist (nennen wir sie CustombdcDeployment).
  • In Featureactivated Ihrer Funktion setzen Sie die Eigenschaft (der Instanz der SpeaturereceiverProperties, die Sie in der Methode featurectivated übergeben werden). Erstellen Sie eine Instanz Ihrer oben Craeted (CustomBDCDeployment) für benutzerdefinierte Klasse und übergeben Sie die modifizierte Instanz von SpfeaturereCeiverProperties an seine freche Methode.
  • In der vorgestellten wirksamen tun so ziemlich die gleichen wie bei Featurectivated. Stellen Sie die Immobilien -Siteurl auf den Wert ein, den Sie benötigen, und übergeben Sie die Eigenschaften an eine neue Instanz von CustomBdcDeployment.

das ist es.

Wenn Sie nach dem Aktualisieren von BDC Connector DLL programmatisch über Code suchen, überprüfen Sie den folgenden Link: -

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top