2011-04-27 28 views
0

我有下面的代碼片段在我的feature.xml的未能加載事件接收器組件

<Feature Id="0c272f81-49c0-440a-a544-677d51a8ffe4" 
    ReceiverAssembly="FeaturedMasterPage, Version 1.0.0.0, Culture=Neutral, PublicKeyToken=9f4da00116c38ec5" 
    ReceiverClass="FeaturedMasterPage.FeatureEventReciever" 
    Title="Branding202" 
    Scope="Web" 
    Version="1.0.0.0" 
    Hidden="FALSE" 
    DefaultResourceFile="core" 
    xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <ElementManifests> 
    <ElementManifest Location="Branding202\Module.xml" /> 
    <ElementFile Location="Branding202\Branding202.Master" /> 
    </ElementManifests> 
</Feature> 

我FeatureEventReciever.cs說: -

using System; 
using System.Collections.Generic; 
using Microsoft.SharePoint; 
using System.Text; 
using System.Diagnostics; 

namespace FeaturedMasterPage 
{ 
    class FeatureEventReciever:SPFeatureReceiver 
    { 
     public override void FeatureActivated(SPFeatureReceiverProperties properties) 
     { 
      try 
      { 
       //My Code 
      } 
      catch (Exception) 
      { 
       throw; 
      } 
     } 

     public override void FeatureDeactivating(SPFeatureReceiverProperties properties) 
     { 
      try 
      { 
       //My Code 
      } 
      catch (Exception) 
      { 

       throw; 
      } 
     } 

     public override void FeatureInstalled(SPFeatureReceiverProperties properties) { } 

     public override void FeatureUninstalling(SPFeatureReceiverProperties properties) { } 
    } 
} 

當我嘗試部署解決方案.. 。它給了我下面的錯誤: -

Error 1 Feature '0c272f81-49c0-440a-a544-677d51a8ffe4' could not be installed because the loading of event receiver assembly "FeaturedMasterPage, Version 1.0.0.0, Culture=Neutral, PublicKeyToken=9f4da00116c38ec5" failed: System.IO.FileLoadException: Could not load file or assembly 'FeaturedMasterPage\, Version 1.0.0.0\, Culture\=Neutral\, PublicKeyToken\=9f4da00116c38ec5' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047) File name: 'FeaturedMasterPage\, Version 1.0.0.0\, Culture\=Neutral\, PublicKeyToken\=9f4da00116c38ec5' at System.Reflection.AssemblyName.nInit(Assembly& assembly, Boolean forIntrospection, Boolean raiseResolveEvent) at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) at System.Reflection.Assembly.Load(String assemblyString) at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

0 0 

我已經花了整整一天的時間解決這個問題。我已經使用gacutil安裝了dll。

任何幫助,將不勝感激。

回答

2

也許這只是在StackOverflow自動格式化中出現錯誤,但我在程序集的全名(ReceiverAssembly="...."部分)中看不到「等號」符號。

應該

FeaturedMasterPage, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=9f4da00116c38ec5 

我看到的是

FeaturedMasterPage, Version 1.0.0.0, Culture=Neutral, PublicKeyToken=9f4da00116c38ec5 
+0

功能成功部署.. 我仍然想知道爲什麼我沒有注意到這個愚蠢的錯誤.. 謝謝。 – Ashish 2011-04-28 03:44:44

0

不幸的是,我懷疑的問題是與你的代碼,而是路徑,其中只有你可以修復。

  1. 驗證您的程序集名稱。
  2. 驗證您的全類名。
  3. 驗證組件得到包含在解決方案文件。

如果你已經過去了三號,那麼這是一個SharePoint問題,但是通過錯誤判斷,我幾乎可以向你保證這只是一個不好的參考。

+1

yes..i做的程序集引用很糟糕,實際上我沒有在我的feature.xml文件中引用GAC安裝的程序集時放置「eqauls」符號。 「版本1.0.0.0」,而應該是「版本= 1.0.0.0」。我仍然無法相信這個愚蠢的錯誤會發生在我身上。現在這個問題已經解決了。謝謝。 – Ashish 2011-04-28 15:38:39

+0

哦!我有同樣的錯誤。我在feature.xml版本中聲明如下: ReceiverAssembly =「SharePointHelloWorld,Version = 1.0」 而真正的程序集至少可以是1.0.0.0因此,一切都在GAC中註冊,等等......但是此功能引用的不正確組裝版本 – 2012-12-18 17:02:36

0

你可以嘗試通過PowerShell的手動加載組件?

0

嘗試通過右鍵單擊項目名稱>>屬性>>從應用程序標籤重命名大會重命名這兩個「大會名稱」和「默認命名空間」的是相同的名稱。我之前遇到過這個問題,那就是解決方案。希望它可以幫助你。