2016-03-31 8 views
1

Ich versuche, GAC in den Sharepoint zu implementieren. Deployment schlägt mit dieser Fehlermeldung:VS2015 Erstellungsfehler: Die angegebene Assembly kann dem globalen Assemblycache nicht hinzugefügt werden

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

Das Problem ist, dass DLL innerhalb C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Practices.SharePoint.Common\v4.0_2.0.0.0__ef4330804b3c4129\ Ordner erwähnt irgendwie von einem anderen DLL gesperrt genannt Microsoft.Alm.Shared.Remoting.RemoteContainer.dll.

Nur eine funktionierende Lösung ist Windows Server neu starten, aber das Problem wird erneut auftreten, sobald ich versuchen werde, eine neuere Version bereitzustellen.

Gibt es eine andere Lösung, um zu verhindern, dass diese und andere ähnliche DLLs blockiert werden?

Dank

+0

Können Sie die Lösung erstellen, um eine Lösungsdatei zu generieren, und dann die PowerShell-Cmdlets 'Add-SPSolution' oder' Update-SPSolution' verwenden, um die Lösung der Farm hinzuzufügen? Sie sollten das Flag "-GacDeployment" verwenden können, damit die Lösung automatisch die DLLs zum GAC hinzufügt. – Thriggle

+0

Sorry für späte Antwort. Nein, die Verwendung von Powershell hilft nicht dabei, das Problem zu lösen. Meiner Meinung nach blockiert VS 2015 sich. Da Neustart, gefolgt von sauberem | bauen | Bereitstellen hilft, das Problem zu lösen. – user2151486

Antwort

0

Der Prozess Microsoft.Alm.Shared.Remoting.RemoteContainer.dll liefert die Funktion "CodeLens" in der Visual Studio IDE genannt. Diese Funktion bietet einige nützliche Funktionen in VS wie die Live-Anzeige von Verweisen auf Funktionen über ihre Deklaration, den Status der Quellcodeverwaltung, den Teststatus und einige andere.

Das Problem wird weggehen, wenn man sich

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

"CodeLens" in Visual Studio deaktivieren

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

Wenn Sie nicht wollen, CodeLens die ganze Zeit auf diesem Computer deaktivieren, können Sie einfach Töte Microsoft.Alm.Shared.Remoting.RemoteContainer.dll vor der Bereitstellung. Dies wird CodeLens in allen laufenden Instanzen von Visual Studio vorübergehend deaktivieren, aber CodeLens wird nach dem Neustart von Visual Studio wieder funktionieren.

den Prozess zu töten, um zu automatisieren, bevor Sie den folgenden Befehl an der gleichen Stelle, bevor Sie Ihren Anruf versucht, die Assembly in den GAC (Global Assembly Cache) zu registrieren, in den gacutil:

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

die tatsächliche Auslöser des Problems ist, dass mindestens eines Ihrer Projekte in der Lösung die Assembly Microsoft.Practices.Sharepoint.Common.dll vom GAC aus der Visual Studio-IDE lädt. Sie können dies verhindern, indem Sie den Baugruppenreferenzpunkt auf eine Version Microsoft.Practices.Sharepoint.Common.dll außerhalb des GAC setzen.


Das Problem war auch discussed at Microsoft Connect. Microsoft sieht dies nicht als Fehler und sagt, dass das Registrieren einer Assembly beim GAC und das Verwenden von Assemblys aus dem GAC während des Builds nicht empfohlen wird.

+0

Brillante Antwort. Lief wie am Schnürchen – user2151486