【发布时间】:2010-11-05 08:05:56
【问题描述】:
我认为这可能是一个通用的 .NET 程序集加载问题,但在我的具体情况下,我希望我的 SharePoint 功能指向一个程序集,其版本控制与正确的 SVN 修订号相关联。
我的程序集现在按照this article 中的说明进行了版本控制。我希望能够将我的 SharePoint 功能配置为使用 GAC 中最新版本的程序集。
<Feature Id="7b5d86e8-17dc-4943-8f4e-ad1068daf4f9"
Title="My happy feature"
Scope="Web"
Version="1.0.0.0"
Hidden="FALSE"
DefaultResourceFile="core"
ReceiverAssembly="HappyFeature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d772fbab82fe6896"
ReceiverClass="HappyFeature.Receivers.HappyItemEventReceiver"
xmlns="http://schemas.microsoft.com/sharepoint/">
</Feature>
当我这样做时,SharePoint 当然找不到程序集,因为强名称与此处描述的 1.0.0.0 版本不匹配。我的程序集中的当前版本是 1.0.4479.26553,所以我希望我的功能能够自动找到类似编号的程序集版本。我该怎么做?
我有点天真地尝试了这样的事情:
ReceiverAssembly="HappyFeature, Version=1.0.*, Culture=neutral, PublicKeyToken=d772fbab82fe6896"
和
ReceiverAssembly="HappyFeature, Version=1.0.*.*, Culture=neutral, PublicKeyToken=d772fbab82fe6896"
但是当我尝试这样部署我的解决方案时,它似乎仍在寻找 1.0.0.0 版本的文件:
功能 '7b5d86e8-17dc-4943-8f4e-ad1068daf4f9' 无法安装,因为 加载事件接收器程序集 “HappyFeature,版本=1.0。., 文化=中性, PublicKeyToken=d772fbab82fe6896" 失败的: System.IO.FileNotFoundException:可以 不加载文件或程序集 'HappyFeature,版本=1.0.0.0, 文化=中性, PublicKeyToken=d772fbab82fe6896' 或 它的依赖项之一。系统 找不到指定的文件。文件 名称:'HappyFeature,版本=1.0.0.0, 文化=中性, PublicKeyToken=d772fbab82fe6896'
强制框架加载我的增量版本功能程序集的正确方法是什么?
编辑:所以,虽然我实际上并没有解决我提出的具体问题,但 Ryan 的建议解决了我的实际问题,即能够使用 SVN 相关信息标记我的程序集,同时保留成功加载我的程序集的能力在 SharePoint FeatureReceiver 世界中。
【问题讨论】:
标签: .net sharepoint assembly-resolution