题
我创建了BDC模型并通过功能部署它。该功能必须具有下面功能XML中指定的siteUrl。但是,当我将功能从类似的开发转移到测试,接受或生产环境时,SiteUrl将引起冲突,WSP软件包将无法安装。
现在,这不是很方便的,因为我每次移动环境时都必须重新包装,或者在环境中使用URL /替代访问映射。我的问题是解决这个问题吗?到目前为止,我唯一能想到的方法是自定义构建脚本。当然必须有一些方便的东西...
<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>
解决方案
显然 这是一个错误. 。一种可能的解决方案是使用 http:// localhost/ 作为URL,但我认为下次打开项目时,这可能仍然被VS覆盖。在这种情况下,自定义构建操作可能是暂时进行的。
其他提示
我还讨论了这个问题,并在这篇文章中找到了答案:http://www.silver-it.com/node/92.
它主要提出以下内容:
- 从模型(BDC项目的属性“ Reeiver”属性)中删除与事件接收器的关联
- 编辑部署BDC模型的现有功能,向其添加事件接收器
- 创建一个来自ImportModelReceiver的新类(我们称其为custombdcdeployment)
- 在您的功能的功能中,将属性设置为属性(您在方法featirefereactiviviviviving的SpfeatureReceiverProperties的实例中)siteUrl将其设置为所需的值(无论您想要的任何位置)。创建一个自定义类的实例(custombdcdeployment),然后将SpfeatureReceiverProperties的修改后实例传递给其特征反应的方法。
- 在特色中激活中的作用与特征激活几乎相同。将属性站点设置为所需的价值,并将属性传递给新的custombdcdeployment实例。
而已。
如果您正在寻找通过代码编程的BDC连接器DLL更新DLL,请检查以下链接: -
http://blog.techperspect.com/2013/12/how-to-update-bdc-bcs-custom-connector.html