我有一个 SharePoint 项目,我已经调试了一段时间,没有出现任何问题。
今天我在项目的唯一功能中添加了一个功能接收器。我还没有更改 Visual Studio 默认添加的空接收器类的任何内容。
“Package”命令现在生成一个包含我项目的 DLL 文件的包(如您所料——添加功能接收器不应该对此有任何改变)。
但是,当我调试时,生成的包不包含我的项目的 DLL 文件,并且部署工作失败并出现以下错误:
部署步骤“添加解决方案”中发生错误:无法为功能“ABC_XYZ 功能”(ID:dca34989-a2f2-413b-b5c4-958e0bbb84ef ).: System.IO.FileNotFoundException: 无法加载文件或程序集 'ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307' 或其依赖项之一。该系统找不到指定的文件。文件名:System.Reflection.Assembly._nLoad 中的“ABC,版本 = 1.0.0.0,文化 = 中性,PublicKeyToken = 2377fad544a7c307”(AssemblyName 文件名,字符串代码库,证据 assemblySecurity,程序集 locationHint,StackCrawlMark 和 stackMark,布尔 throwOnFileNotFound,布尔 forIntrospection)在 System.Reflection.Assembly。
警告:程序集绑定日志记录已关闭。要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 设置为 1。注意:与程序集绑定失败日志记录相关的一些性能损失。要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
删除功能接收器允许我再次调试而不会出现问题,但是一旦我重新添加功能接收器,问题就会再次出现。
我试过清理和重建,然后调试,但除非/直到我删除功能接收器,否则错误不会消失。
为什么当我使用“Package”命令时,我的项目的程序集包含在包中,而当我使用“Start Debugging”命令时没有,添加功能接收器会导致这种情况发生吗?