如果该工具做的东西你不懂,然后它失败的数目不详的步骤一步 n 中, 你死在水中…
</结束>
我再一次由专人手工 BDC ADF 文件 (所以,我可以建立我 "我的草坪下车!" 信用证) 打了这个可爱的错误:
"应用程序定义导入失败. 出现了以下错误:"
如您所见, 有错误, 但 … 它不会告诉我它是什么.
以我为例, 问题原来我已经开始了与一个不同的项目,它连接到数据库并执行对视图的 SQL 查询功能 ADF. 在这个新项目, 我号召一个 web 服务方法. 去掉了 DB 的具体东西,加上我的 web 服务东西, 但是,更新失败 <LobSystem>类型属性. 转向了"web 服务" 和我愉快地搬到更新、 更令人兴奋的导入错误, 这是在适当的时候处理.
这里是错误 LobSystem:
<LobSystem
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation =http://schemas.microsoft.com/office/2006/03/BusinessDataCatalogBDCMetadata.xsd
类型 ="数据库"
版本 ="1.0.0.0" 名称 ="xyzzy"
xmlns ="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
这是正确的:
<LobSystem
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation =http://schemas.microsoft.com/office/2006/03/BusinessDataCatalogBDCMetadata.xsd
类型 ="web 服务"
版本 ="1.0.0.0" 名称 ="xyzzy"
xmlns ="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
</结束>
更新: 此 MSDN 张贴了一些有趣的评论,从基于他的 JXJ, 主要负, 走这条道路的经验: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1
我们有一个业务方案,我们需要通过一个共同的"文档 ID 的两个文档库链接" 字段.
我们经常用到这样的实现链接查阅列. 有几个缺点查阅列, 3 项是:
BDC 后盾, 我们可以使用"业务数据" 列的类型,它提供了一个优越的搜索和甚至允许多个列的数据显示在列表视图.
已经取得了一些初步成功使用这种方法,并计划编写有关它的详细信息.
如果您曾经工作过的前的这个角度,并有任何意见, 请分享!
</结束>
我一直与 BDC 今日 (星期三), 手工编码 ADF 文件和生成自己的一些错误. 一个此类错误:
应用程序定义导入失败. 出现了以下错误: 不能加载设计图的 TypeName 所描述的类型. 参数名称: typeName 错误时遇到或只是前行: 35’ 和位置: '' 20.
MOSS 显示此错误,当我想要导入的 ADF XML 文件.
互联网的研究,并发现我被引用的 LOB 实例名称 (从 <LobSystemInstance>) 在我 <设计图> 当我要引用的 LOB 名称本身的节点 (从 <LobSystem>).
错了:
<设计图 TypeName="Conchango.KeyValue, LOB 实例名称" 名称 ="KeyValue">
更正:
<设计图 TypeName="Conchango.KeyValue, LOB 名称" 名称 ="KeyValue">
希望这一保存人一两个小时的时间.
</结束>
我正在研究一种功能上个星期,会将一些事件接收器添加到特定列表实例. (我有点博文在这里该列表接收机).
使用命令行, 我无法安装功能,并没有错误 (但请参阅下面的隐藏错误). 当我试图部署上该网站的功能, MOSS 抱怨"FileNotFoundException" 错误. 此博客条目描述怎么解决的.
这是一个 MOSS 表明我在 web 浏览器中的错误:
功能 ' b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ 不安装,因为加载的事件接收器大会"xyzzyFeatureReceiver_0" 失败: System.IO.FileNotFoundException: 未能加载文件或程序集 xyzzyFeatureReceiver_0’ 或一个依赖项. 系统无法找到指定的文件.
文件名称: ' xyzzyFeatureReceiver_0’
在 System.Reflection.Assembly.nLoad(进行校验文件名, 字符串代码库, 证据 assemblySecurity, 大会 locationHint, StackCrawlMark& stackMark, 布尔 throwOnFileNotFound, 布尔 forIntrospection)
在 System.Reflection.Assembly.InternalLoad(进行校验 assemblyRef, 证据 assemblySecurity, StackCrawlMark& stackMark, 布尔 forIntrospection)
在 System.Reflection.Assembly.InternalLoad(字符串 assemblyString, 证据 assemblySecurity, StackCrawlMark& stackMark, 布尔 forIntrospection)
在 System.Reflection.Assembly.Load(字符串 assemblyString)
在 Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
警告: 程序集绑定日志记录打开关闭.
要启用程序集绑定失败日志记录, 设置注册表值 [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD 值) 自 1.
请注意: 有一些与程序集绑定失败日志记录相关联的性能.
若要关闭此功能, 删除注册表值 [HKLMSoftwareMicrosoftFusion!EnableLog].
我知道如何去故意导致该错误: 不在 gac 中安装程序集. 但, 它是在 gac 中. 我通常将程序集安装到 gac 中通过将它们拖入 c:\使用 windows 资源管理器的 windowsassembly 文件夹. 我从来 100% 舒适这样做,因为我总是以为那 gacutil 存在的原因 … 所以我试过了. 它没有区别.
互联网中搜索的结果,并找到这篇帖子: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1
海报碰巧使用同一根位的代码 (从内部 WSS 书从该列表中) 所以这是一个充满希望的迹象. 不过, 装饰与大会的建议 [程序集: ] 指令对我没有意义. 不管怎样,我还是把它尝试,右. 它没有区别.
然后我注意到我的类定义是不公开. 我将它公开并无差异.
下一步, 我去了启用"程序集绑定失败日志的麻烦" (提供的帮助和最准确的说明) 这是在哪里,事情开始变得有趣. 该日志显示我运行时到处搜索,该服务器上为我的程序集. 它甚至似乎在寻找它在我的药柜. 但 … 它不会在 GAC 中搜索它.
我穿上我冬季夹克和去再次搜索互联网,发现有人也有这问题. 在这个帖子中的冗长讨论彼得斯掉到什么和我找不到解决方案.
我将我的程序集移动到日志声称它搜索并多一点进步的地方之一. 一个新的错误,在浏览器中尝试激活该功能时我得到现在工作:
未能从程序集"xyzzyFeatureReceiver_0"创建功能接收器对象, 键入"Conchango.xyzzyFeatureReceiver" 为功能 b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: 值不能为空.
参数名称: 类型
在 System.Activator.CreateInstance(类型类型, 布尔非公开)
在 System.Activator.CreateInstance(类型类型)
在 Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
一个最后一次去互联网的时间!
这一次找出, 不出所料, 苔藓发出此错误,因为程序集不是 GAC 中.
我想要得到的东西正从这并尝试感到有点骄傲的了 Fugitive MSIL 程序集, 但它不工作. 我只是平原恼火. 我发现自己喃喃自语"鸡还是先有蛋" 根据我的呼吸.
我最后决定平底船. 我创建一个完全新的项目和复制/粘贴到这个新项目从 incredible-cloaked-from-the-GAC-assembly 非工作项目在代码. (我寻找称为"隐藏从程序集绑定如果安装到 GAC 中像一个生成标志" 但找不到一个).
安装功能,并将其激活, … 它的工作原理! 所以, 所有这一切之后, 我基本上已经到 ' 重新启动’ 我的项目. 这是为什么我讨厌的计算机的另一个原因.
我确实学到一些有用的这. 以前安装过整天都使用 stsadm 命令行功能和已使用"-力" 出于习惯选项. 因为某些原因, 我没有使用-force 选项,当你安装了新的项目. 这一次, 我做的其实, 真正忘了将这个新项目的程序集复制到 gac 中. 结果, 我收到了"FielNotFoundException" 错误. 这一次, 得从 stsadm, 没有,当我试着激活通过 web 浏览器功能. 所以, -力事实上是扮演两个角色. 它允许您重新安装现有的功能. 它还允许您将不能工作在运行时通过抑制错误越野功能安装. 它可能表示尽可能帮助地方但永远不会注意到了它.
</结束>
===
奖金的妻子笑话:
两个男同事一起出去吃午饭. 其中之一告诉对方, "我让松那天晚上的令人尴尬的嘴。"
"一时说溜了? 什么?"
"好吧, 当我们完成了吃, 女服务员前来,问如何我们喜欢我们的饭菜. 我的意思说, ' 我爱鸡胸肉’ 但却说 '我爱你的乳房'. 所以窘了。"
"啊," 他的同事回答. "我有同样的事情发生在我身上这个周末和我的妻子. 我们正在吃的早餐,本来想请她转达黄油, 但相反我尖叫着她, ' 你毁了我的生活!’"
</结束>
更新 (04/08/08): 我似乎已经解决了这个问题. 从命令行, 我跑"c:\windowssystem32lodctr /R" 按条目谈论安装问题,那似乎解决了它对我来说.
已经注意到最近, 我的桌面/服务器风扇永远不会关闭. 我知道它用来关闭. 我花了点时间检查出来注意 VMware 进程运行一致 20% 在一个 CPU 的利用率. 我检查事件日志,看到这些发生数十次每分钟应用程序日志中的错误:
Windows 不能加载可扩展计数器 DLL UGatherer, 数据节中的第一个 DWORD 是 Windows 错误代码.
Windows 不能加载可扩展计数器 DLL UGTHRSVC, 数据节中的第一个 DWORD 是 Windows 错误代码.
Windows 无法加载 DLL MSSCNTRS 的可扩展计数器, 数据节中的第一个 DWORD 是 Windows 错误代码.
如果我深入的那些消息之一详细信息, 我得到这:
源: Perflib
类型: 错误
类别: 无
事件 ID 1023
做了一些研究和一些迹象表明,这可能是在进入 Dll 问题方面的权限问题. 把玩了一下那东西,但不是能影响事情以积极的方式,所以我放弃了,.
VMware 把我困扰了有关执行相当一段时间的更新, 所以我草草记下我已经安装的版本 (很显然"1.0.1 生成 29996") 并更新. 这把我升级到 v1.04. 不幸的是, 它未解决问题.
我可以停止疯狂的去我的应用程序日志,如果关闭了名为"VMware 授权服务"的服务的消息数. 这阻止我使用 VMware 软件, 所以 … 不是很好的选择.
主机操作系统是 Windows XP 64 位.
我不认为这种情况总是发生, 但我不记得任何可能导致了它的特定事件.
这就是为什么我恨的计算机.
</结束>
更新: 这工作,但有很大的局限性,介绍了在评论中. 这可能仍然是有用的一些基本状况.
更新 2: 我当前的项目中, 用户始终上载文件. 结果, 不会遇到一个问题 MS Word 正在运行,并且认为它重命名该文件. 我也遇到一个问题, "文件的修改由其他人" 并解决了这个问题通过一个简单的信号类型标志. 用户需要从其默认值的元数据字段更改为别的东西. Itemupdated() 寻找有效的值实际上执行重命名之前并自那时以来接收器, 我没有任何问题. 您的里程可能会发生变化.
我有一个客户端要求更改上载到以符合特定的命名约定的特定文档库的文件名称. 该 API 并不提供"重命名()" 方法. 相反, 我们使用 "MoveTo(…)". 这里是代码的最少来完成这位:
公众 重写 无效 ItemAdded(SPItemEventProperties 属性) { SPFile f = 属性。ListItem.File; f.MoveTo(属性。ListItem.ParentList.RootFolder.Url + "/xyzzy.doc"); f.Update(); } |
唯一麻烦的地方是"属性。"ListItem.ParentList.RootFolder.Url. MoveTo() 方法需要一个 URL. 那捣碎的字符串点我到我当前的文档库的根文件夹中. 这让我们避免任何硬编码在我事件接收器.
这是一个更有用的版本,做同样的事, 但分配的文件的名称为"标题":
公众 重写 无效 ItemAdded(SPItemEventProperties 属性) { DisableEventFiring(); // 将此项的标题分配给文件本身的名称. // 请注意: 这项任务必须发生之前我们修改文件本身. // 调用 update() 对 SPFile 似乎要使之无效的属性中 // 某种意义上. "标题的更新" 失败之前,更改 (和更新() 电话) // 在更改前被移到的文件的名称. 属性。ListItem["标题"] = 属性。ListItem.File.Name; 属性。ListItem.Update(); SPFile f = 属性。ListItem.File; // 获取该文件的扩展名. 我们以后需要的. 字符串 spfileExt = 新增功能 FileInfo(f.Name).扩展; // 重命名的文件到列表项 ID 和使用的文件扩展名来保存 // 它不变的那一部分. f.MoveTo(属性。ListItem.ParentList.RootFolder.Url + "/" + 属性。ListItem["ID"] + spfileExt); // 犯下移动. f.Update(); EnableEventFiring(); } |
研究员, "标记", 潜在有趣的新闻组讨论,重点"建立优秀 SharePoint 治理结构从一开始已启动" 对于 35,000 用户环境.
过去流行的贡献!
</结束>
我还在用手制作我功能 XML 文件,因为它是对我都很新的习惯. 我不想依赖一个前端工具的事情我不懂 (他说,他写道: 使用一个工具,他不明白一个博客条目).
今天, 我正要向网站设置添加自定义操作,但它不会露面. 我安装的功能,看它在网站功能, 但激活时 (无错误) 它只是不会显示在下拉菜单中.
终于意识到我拼错"SharePoint" 在位置属性 <CustomAction> 节点. 这是坏的 elements.xml 文件:
<?xml 版本="1.0" 编码="utf-8" ?> <元素 xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Id="SiteActionsToolbar" GroupId="SiteActions" 位置="Microsoft.Sharepoint.StandardMenu" 序列="100" 标题="您好 !!" 说明="通过功能添加的自定义菜单操作." ImageUrl="_layouts/images/menuprofile.gif"> <UrlAction Url="http://www.xyzzy.com"/> </CustomAction> </元素> |
良好:
<?xml 版本="1.0" 编码="utf-8" ?> <元素 xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Id="SiteActionsToolBar" GroupId="SiteActions" 位置="Microsoft.SharePoint.StandardMenu" 序列="100" 标题="您好 !!" 说明="通过功能添加的自定义菜单操作." > <UrlAction Url="http://www.xyzzy.com"/> </CustomAction> </元素> |
That one took me a good two hours to figure out 🙂
我感到安慰的事实,在将来某一天, 我能说的信念, "早在一天, 我不得不走上小山雪中三英里 (赤脚!) 若要部署到苔藓的自定义功能. 你的孩子, 你不知道你有多么容易! 下车我的草坪!"
不能等待.
</结束>