2016-03-31 62 views
1

GACを共有ポイントに展開しようとしています。展開は、このエラーメッセージで失敗します。VS2015ビルドエラー:指定されたアセンブリをグローバルアセンブリキャッシュに追加できません。

Error occured in deployment step 'Add Solution': Error: Cannot add the specified assembly to the global assembly cache: Microsoft.Practices.Sharepoint.Common.dll

問題は何とかMicrosoft.Alm.Shared.Remoting.RemoteContainer.dllと呼ばれる別の.dllによってロックされているC:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Practices.SharePoint.Common\v4.0_2.0.0.0__ef4330804b3c4129\フォルダ内の.dll言及したということです。

Windows Serverを再起動するソリューションは1つだけですが、新しいバージョンを展開しようとすると問題が再び発生します。

これと他の同様のdllをブロックしないようにする方法はありますか?

おかげ

+0

ソリューションファイルを生成するソリューションを構築し、powershellコマンドレットの「Add-SPSolution」または「Update-SPSolution」を使用してソリューションをファームに追加できますか? '-GacDeployment'フラグを使って、GACに自動的にDLLを追加させることができるはずです。 – Thriggle

+0

ご迷惑をおかけして申し訳ありません。いいえ、PowerShellを使用しても問題の解決には役立ちません。 私の意見では、VS 2015自体がブロックされています。再起動後にクリーン|ビルド|配備は問題を解決するのに役立ちます。 – user2151486

答えて

0

Microsoft.Alm.Shared.Remoting.RemoteContainer.dllという名前のプロセスは、Visual StudioのIDEに機能 "CodeLens" を提供しています。この機能は、宣言、ソース管理ステータス、テストステータスなどの上にある関数への参照のライブ表示のような、VSの素晴らしい機能をいくつか提供します。

あなたは

Visual Studio Options > Text Editor > All Languages > Code Lens

Visual Studio Options > Text Editor > All Languages > Code Lens

でVisual Studioで「CodeLens」を無効にした場合、あなたはちょうど、そのコンピュータ上でCodeLensすべての時間を無効にすることができますしたくない場合は、問題が消えますデプロイする前にMicrosoft.Alm.Shared.Remoting.RemoteContainer.dllを削除してください。これにより、実行中のすべてのVisual StudioインスタンスでCodeLensが一時的に無効になりますが、Visual Studioを再起動するとCodeLensが再び機能します。

taskkill /f /im Microsoft.Alm.Shared.Remoting.RemoteContainer.dll 

実際:あなたの呼び出しはGacutilをする前に、同じ場所に次のコマンドを追加し、GAC(グローバルアセンブリキャッシュ)にアセンブリを登録しようとする前に、プロセスを殺す自動化するために

この問題の原因は、ソリューション内のプロジェクトの少なくとも1つが、Visual Studio IDE内のGACからアセンブリMicrosoft.Practices.Sharepoint.Common.dllをロードすることです。これを防ぐには、アセンブリ参照がMicrosoft.Practices.Sharepoint.Common.dllのバージョンをGAC外に指しているようにします。


問題はdiscussed at Microsoft Connectであった。マイクロソフトではこのバグは認識されず、アセンブリをGACに登録し、ビルド時にGACからアセンブリを使用することはお勧めしません。

+0

華麗な答え。チャームのように働いた – user2151486

関連する問題