无法加载接收器程序集 - 文件未找到异常。

5

处理这个问题时,当我的功能中没有事件接收器时,项目可以构建和部署,而添加事件接收器后则失败了。我并不完全确定FileNotFoundException指的是哪个文件。

Visual Studio中给出的错误信息:

Error   1   Error occurred in deployment step 'Activate Features': Failed to load receiver assembly "Decisions.Features, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8d09acb153961cfd" for feature "Decisions.Features_DeployDecisionCommittee" (ID: 779492d8-f053-45ce-8340-5fa6d7f87a90).: System.IO.FileNotFoundException: Could not load file or assembly 'Decisions.Features, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8d09acb153961cfd' or one of its dependencies. The system cannot find thefile specified.
File name: 'Decisions.Features, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8d09acb153961cfd'
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

=== Pre-bind state information ===
LOG: DisplayName = Decisions.Features, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8d09acb153961cfd
(Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/
LOG: Initial PrivatePath = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SharePoint\VstspCache7880
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SharePoint\vssphost5.exe.Config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Decisions.Features, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8d09acb153961cfd
LOG: The same bind was seen before, and was failed with hr = 0x80070002.

    0   0   Decisions.Features

程序集绑定日志查看器

* 程序集绑定日志条目 (2014年4月25日 @ 11:11:41) *

操作失败。 绑定结果:hr = 0x80070002。系统找不到指定的文件。

程序集管理器加载自:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll 在可执行文件 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SharePoint\vssphost5.exe 下运行 ---以下是详细的错误日志。

=== 预绑定状态信息 === LOG: 显示名称 = Decisions.Features, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8d09acb153961cfd (完全指定) LOG: 应用程序基础目录 = file:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/ LOG: 初始私有路径 = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SharePoint\VstspCache7880 LOG: 动态基础目录 = NULL LOG: 缓存基础目录 = NULL LOG: 应用程序名称 = vssphost5.exe

调用程序集:(未知)

LOG:此绑定在默认加载上下文中开始。 LOG:使用应用程序配置文件:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SharePoint\vssphost5.exe.Config LOG:使用主机配置文件: LOG:使用机器配置文件 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config。 LOG:后政策引用:Decisions.Features,Version=1.0.0.0,Culture=neutral,PublicKeyToken=8d09acb153961cfd LOG:GAC查找失败。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/Decisions.Features.DLL。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/Decisions.Features/Decisions.Features.DLL。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/VstspCache7880/Decisions.Features.DLL。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/VstspCache7880/Decisions.Features/Decisions.Features.DLL。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/PublicAssemblies/Decisions.Features.DLL。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/PublicAssemblies/Decisions.Features/Decisions.Features.DLL。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/Decisions.Features.EXE。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/Decisions.Features/Decisions.Features.EXE。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/VstspCache7880/Decisions.Features.EXE。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/VstspCache7880/Decisions.Features/Decisions.Features.EXE。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/PublicAssemblies/Decisions.Features.EXE。 LOG:尝试下载新的URL文件:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/Extensions/Microsoft/SharePoint/PublicAssemblies/Decisions.Features/Decisions.Features.EXE。 LOG:所有探测URL都尝试失败。

Help


Decisions.Features.DLL是您包含在软件包中的程序集吗?检查生成的.WSP文件,看看程序集是否实际包含在内(您可以使用7-zip轻松解压缩WSP文件并保持结构)。 - Tatjana N.
嗨,Colin,你找到解决方法了吗? - Mathematics
4个回答

13

这是我尝试过的有效方法:

First resolution:
·          Retract the Solution/WSP in VS.
·          Close VS.
·          Reopen VS and deploy the Project.

Second resolution:
If closing VS after retraction doesn't solve the problem then a larger workaround is:
·          Redeploy the project -> This will show an error during feature activation.
·          Go to SharePoint UI and Activate and then Deactivate the deployed feature that was showing activation error in VS.
·          Retract the Solution/WSP in VS.
·          Close VS.
·          Reopen VS and deploy the Project.

http://support.microsoft.com/kb/2022443


2

这对我有用。

右键单击项目并选择属性。在属性菜单中,选择签名。在签名选项卡中,在选择强名称密钥文件下选择新建并输入密钥名称。然后选择不需要密码。完成所有操作后重新构建文件,即可开始部署。


1
这对我有用:更改程序集信息中的VS项目版本。例如,我将程序集和文件版本更改为1.1.0.0而不是1.0.0.0。
部署后没有问题。
之后,我可以将其设置回1.0.0.0,并继续部署而没有错误或问题...

0
另一个帮助我的解决方案: 前往您要部署的站点,并从UI中激活功能。 从Visual Studio重新部署。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接