8

私は問題なしでしばらくの間デバッグしてきたSharePointプロジェクトを持っています。デバッグ時にプロジェクトのアセンブリがパッケージにないのはなぜですか?

今日、フィーチャーレシーバーをプロジェクトの唯一の機能に追加しました。私はまだVisual Studioがデフォルトで追加する空のレシーバクラスについて何も変更していません。

"パッケージ"コマンドは、私のプロジェクトのDLLファイルを含むパッケージを生成するようになりました(フィーチャレシーバを追加することでこれについて何も変更すべきではありません)。私はデバッグするとき

しかし、生成されたパッケージはないは私のプロジェクトのDLLファイルが含まれていて、展開努力は次のエラーで失敗します。私は再びせずにデバッグできるようにする機能レシーバーを取り外す

Error occurred in deployment step 'Add Solution': Failed to load receiver assembly "ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307" for feature "ABC_XYZ Feature" (ID: dca34989-a2f2-413b-b5c4-958e0bbb84ef).: System.IO.FileNotFoundException: Could not load file or assembly 'ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307' or one of its dependencies. The system cannot find the file specified. File name: 'ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307' at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 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()

WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

この問題は、フィーチャーレシーバーを再追加するとすぐに返されます。

私は、クリーニングと再構築を試みてからデバッグを試みましたが、フィーチャーレシーバーを削除するまで、エラーは消えません。

「パッケージ」コマンドを使用すると、プロジェクトのアセンブリがパッケージに含まれますが、「デバッグの開始」コマンドを使用すると、機能受信機を追加するとどうなるのですか?

答えて

13

何が起こったのかわかりませんが、私は手動でobjとbinディレクトリをクリアすると問題が解消しました。

  1. 削除機能レシーバー
  2. クリーンソリューション
  3. 閉じるのVisual Studio
  4. 削除SharePointプロジェクトの:ここで私は機能レシーバ/ wの成功のデバッグに質問で引用状態から取得するために、その後の手順がありますWindowsエクスプローラーのobjフォルダー
  5. WindowsエクスプローラーでSharePointプロジェクトのbinフォルダーを削除する
  6. Visual Studioを開き、フィーチャーレシーバーを再追加
  7. デバッグを開始
+0

+1です。どうやって?これの一部を編集することができますか? (Visual Studioを実行させるとobjフォルダが即座に再生成されることに気付いた) –

+1

私はこの答えを作成した。なぜそれが機能するのか分からなかった。私が不必要であることが判明した場合、私は間違いなく編集します。 – lance

+0

それはうまくいったが固定されていた。 – Prageeth

18

この質問に対する回答は私にとってはうまくいかなかった。このブログ記事へ

...simply changing out the project’s strong key assembly worked in this particular case. If you haven’t had to change this before, it is under the properties of the project -> Signing. Under ‘Choose a strong name key file’, select New. The password is optional.

ありがとう:: - プロパティFarm Solution Deployment Problems

+0

が私のためにはうまくいかなかったが、新しいキーソリューションがそのトリックを行った。ありがとう、ジェイ! – Sergey

+0

私と同じですが、このソリューションはうまくいきました。よくやった! –

+0

私のために働いた、ありがとう –

0

私は解決策を右クリック用のVisual Studioに行くことを試みた

以下

は仕事をしました。 アプリケーションの下で、アセンブリ情報を作成してから、アセンブリとファイルのバージョンを「最小1」(1.0.0.0から1.0.0.1)に上げました。 その後、すべてのロジックに対して、これが機能するため、「WebApplicationに」ソリューションを展開(主に機能を有効化)することができました。

関連する問題