我有一个SharePoint项目,已经调试了一段时间而没有问题。
今天我向该项目的唯一功能添加了一个特性接收器。我还没有改变Visual Studio默认添加的空接收器类。
“Package”命令现在生成一个包,其中包括我的项目的DLL文件(正如您所期望的那样 - 添加一个特性接收器不应该改变这个)。
然而,在我进行调试时,生成的包不包括我的项目的DLL文件,并且部署失败,出现以下错误:
“Add Solution”部署步骤中发生错误: 无法为特性“ABC_XYZ Feature”(ID: dca34989-a2f2-413b-b5c4-958e0bbb84ef)加载接收器程序集“ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307”: System.IO.FileNotFoundException: 找不到文件或程序集“ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307”的指定文件。 文件名:'ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307' 在System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 在System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 在System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 在System.Reflection.Assembly.Load(String assemblyString) 在Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
当我删除特性接收器时,我可以再次无问题地进行调试,但是只要我重新添加特性接收器,问题就会再次出现。
我尝试了清理和重建,然后进行调试,但是除非/直到我删除特性接收器,否则错误不会消失。
为什么使用“Package”命令时我的项目程序集被包含在包中,但使用“开始调试”命令时却没有,添加特性接收器会导致这种情况发生?
今天我向该项目的唯一功能添加了一个特性接收器。我还没有改变Visual Studio默认添加的空接收器类。
“Package”命令现在生成一个包,其中包括我的项目的DLL文件(正如您所期望的那样 - 添加一个特性接收器不应该改变这个)。
然而,在我进行调试时,生成的包不包括我的项目的DLL文件,并且部署失败,出现以下错误:
“Add Solution”部署步骤中发生错误: 无法为特性“ABC_XYZ Feature”(ID: dca34989-a2f2-413b-b5c4-958e0bbb84ef)加载接收器程序集“ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307”: System.IO.FileNotFoundException: 找不到文件或程序集“ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307”的指定文件。 文件名:'ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307' 在System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 在System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 在System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 在System.Reflection.Assembly.Load(String assemblyString) 在Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
当我删除特性接收器时,我可以再次无问题地进行调试,但是只要我重新添加特性接收器,问题就会再次出现。
我尝试了清理和重建,然后进行调试,但是除非/直到我删除特性接收器,否则错误不会消失。
为什么使用“Package”命令时我的项目程序集被包含在包中,但使用“开始调试”命令时却没有,添加特性接收器会导致这种情况发生?