2013-09-03 14 views
21

otworzyłem plik rozwiązania, które działa dobrze i mam ten tajemniczy błądWindows Azure błędy projektu CctSharedPackage nie załadować poprawnie

do „CctSharedPackage” nie załadować poprawnie

Projekt ten był projekt systemu Windows Azure 2.1, który nie miał problemów z działaniem w zeszłym tygodniu, jednak od tego czasu do ponownego uruchomienia nie będzie już ładowany w Visual Studio 2012. Wystąpiło to na komputerze z zainstalowanym zestawem Windows Azure SDK 2.1 (projekt działał dobrze w zeszłym tygodniu)

Wystąpił błąd sprawdzający c: \ Users \ {user} \ AppData \ Roaming \ Microsoft \ VisualStudio \ 11.0 \ Plik ActivityLog.xml, aby uzyskać więcej informacji.

W tym pliku stwierdzono "Nie można znaleźć zespołu Microsoft.Azure.Diagnostics ver 2.1".

+0

Można rozwiązać ten problem poprzez rejestrację zespół w GAC ... więcej szczegółów w poniższym moją odpowiedź. –

Odpowiedz

34

Widząc, że pakiet Windows Azure SDK 2.1 został już zainstalowany, ponownie załadowałem instalator i uruchomiłem go, aby poprosić o ponowne zainstalowanie lub naprawę. Widząc, że instalator jest instalatorem platformy internetowej, nie dostarczył żadnej z tych opcji. W tym momencie zdecydowałem, że muszę odinstalować SDK, aby móc go ponownie zainstalować z Dodaj/Usuń programy.

Kiedy poszedłem do Dodaj/Usuń programy zobaczyłem, że były tam instalacje dla bibliotek Windows Azure dla .NET - v1.8 i Windows Azure Authoring Tools - v1.8. Usunąłem obie te instalacje, a następnie udało się załadować projekt.

+4

Byłem w tej samej łodzi, ale to co zrobiłem, to wybrałem Azure 2.1, wybrałem opcję naprawy i po naprawie wszystko działało. –

+0

To rozwiązanie działa również w przypadku aktualizacji programu Visual Studio 2012 4. Wszystko działało dla systemu Azure 2.1 po zakończeniu naprawy. – SpazDude

+0

Miałem zainstalowane wersje czerwiec 2012 i październik 2012 wraz z wersją 2.1. Poszedłem za sugestią i usunąłem dwie stare wersje, a teraz wszystko działa. Nawet bez żadnej naprawy w wersji 2.1. –

0

Odinstalowano wszystkie wpisy Windows Azure kończące się w październiku 2012 r. Za pośrednictwem panelu sterowania. Po ponownym otwarciu mojego rozwiązania otrzymałem okno dialogowe do konwersji celu projektu (zrzut ekranu).

Azure upgrade

+0

Pamiętaj, że uaktualnienie głównych wersji może spowodować zmianę zerwania. –

+0

@Stefan, o czym sądzisz - Twój komentarz jest nieprecyzyjny ...? –

+0

Nie jestem pewien, czy rozumiem, co mówisz Renato, czy możesz wyjaśnić, proszę? –

4

Nie mam zainstalowane 1.8 SDK. Uważam, że była to aktualizacja systemu Windows związana z .Net 3.5, która mogła zepsuć moją instalację. Aby naprawić wszystko, co zrobiłem, uruchom program Explorer w Windows 8 i wybierz opcję "Odinstaluj lub zmień program" na wstążce.

Wyszukaj Azure i gdy była opcja "naprawy", naprawiłem program. NAPRAWIONO

+0

To działało dla mnie i było najmniej uciążliwym sugestią na tej stronie. Poza tym nie mogłem znaleźć opcji odinstalowania/zmiany na wstążce w systemie Windows 8.1. Zrobiłem to ze starego panelu sterowania. – acarlon

+0

To. Jest to również popularna poprawka z tego posta na blogu MSDN http://blogs.msdn.com/b/rob/archive/2014/02/12/fixing-quot-the-cctsharedpackage-package-did-not-load-correctly -quot.aspx. –

4

Wystąpił podobny problem ("CctSharedPackage" nie załadował się poprawnie). W moim przypadku uruchomienie programu Visual Studio z uruchomieniem jako administrator rozwiązało problem.

+0

Ustawiam studio graficzne zawsze uruchamiane jako administrator przy użyciu polecenia VSCommands http://vscommands.squaredinfinity.com/home z opcją "Zawsze uruchamiaj program Visual Studio z podwyższonymi uprawnieniami". –

9

to wydaje się być problem z instalatorem. Ponowna instalacja jest opcją, ale można ją naprawić za pomocą prostego wiersza poleceń, rejestrując swoje złożenia w GAC.

Ja pisał o tym krótki czas temu na moim blogu ->here

C:\Program Files (x86)\Windows Azure Tools\Visual Studio 11.0>gacutil /i .\Microsoft.VisualStudio.WindowsAzure.Diagnostics.dll 
+2

O wiele prostsze rozwiązanie niż ponowne instalowanie – Ahmad

3

ja również napotkał ten prolem dzisiaj, ale dla mnie na szczęście został rozwiązany tylko poprzez ponowne uruchomienie programu Visual Studio 2012. Po prostu spróbuj przynajmniej raz, aby mieć pewność :-)!

0

Po drugim włączeniu i ponownym włączeniu. Wystąpił ten błąd podczas ładowania projektu po upływie tygodnia. Ponownie uruchomiony i odszedł. Więc spróbuj tego chociaż raz.

2

Miałem ten sam problem. Ponowna instalacja pakietów SDK nie pomagała, a ponowne zainstalowanie programu Visual Studio brzmiało zbyt boleśnie, więc zdecydowałem się dowiedzieć, co było przyczyną błędu.

Użyłem innej instancji programu Visual Studio i dołączono ją do debugowania obraźliwej instancji programu Visual Studio. Nie mogłem zobaczyć, gdzie dokładnie wystąpił błąd, ale mogłem zobaczyć, w jakiej bibliotece wystąpił wyjątek i można było zobaczyć kod źródłowy za pomocą .NET Reflectora, aby zorientować się, co robi.

Po uruchomieniu biblioteka Microsoft.Cct.CctSharedPackage przechodzi przez wszystkie zestawy SDK Azure, aby ustalić, które z nich są zainstalowane na komputerze.

Skończyłem na pisaniu aplikacji konsolowej, aby emulować to, co robi startup i zobaczyć, czy mogę znaleźć to, co było nie tak. Wszystkie zajęcia są wewnętrzne, więc musiałem użyć refleksji, aby uzyskać do nich dostęp.

Na moim komputerze okazało się, że pakiet Azure SDK 1.6 został pomieszany. Pakiet SDK został zainstalowany, ale właściwość TargetAzureLibraries wracała jako null. Odinstalowałem ten pakiet SDK i rozwiązałem problem.

app konsoli poniżej:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Reflection; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WindowWidth = 240; 

      // The Microsft.Cct.AssemblyResolver does this: 
      /* 
     private IEnumerable<IAzureToolsVersionInfo> GetInstalledSDKsByProductVersionDesc(IServiceProvider serviceProvider) => 
      (from knownProduct in AzureToolsVersionInfoUtilities.GetAllProducts() 
       where knownProduct.TargetAzureSDK.IsSDKInstalled() && knownProduct.TargetAzureLibraries.IsLibrariesInstalled() 
       orderby knownProduct.ProductVersion descending 
       select knownProduct) 
      */ 
      // Duplicate this logic using reflection to find the SDK install that is broken. 

      var asm = System.Reflection.Assembly.LoadFile("C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\Microsoft\\Windows Azure Tools\\Microsoft.VisualStudio.WindowsAzure.Common.2.8.dll"); 
      var typ = asm.GetType("Microsoft.Cct.ProductVersionInfo.AzureToolsVersionInfoConstants"); 
      //Console.WriteLine(typ.ToString()); 
      var allMethods = typ.GetFields(BindingFlags.Static | BindingFlags.Public).Select(it => it.Name).ToArray(); 
      allMethods = allMethods.Where(it => it.StartsWith("WAT") && it.Length == 5).OrderBy(it => it).ToArray(); 
      foreach (string version in allMethods) 
      { 
       var fld = typ.GetField(version, System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public); 
       dynamic val = fld.GetValue(null); 
       var azTypeInfo = asm.GetType("Microsoft.Cct.ProductVersionInfo.AzureToolsVersionInfo"); 
       bool isSdkInstalled = false; 
       bool isLibrariesInstalled = false; 
       Dictionary<string, string> sdkProperties = new Dictionary<string, string>(); 
       Dictionary<string, string> libProperties = new Dictionary<string, string>(); 

       // Get the SDK reference 
       var targetAzureSDK = azTypeInfo.GetProperty("TargetAzureSDK").GetValue(val); 
       Type targetAzureSDKProp = targetAzureSDK.GetType(); 
       var methodNames = targetAzureSDKProp.GetMethods().Select(it => it.Name).ToArray(); 
       var sdkIsInstalledMethod = targetAzureSDKProp.GetMethods().FirstOrDefault(it => it.Name == "IsSDKInstalled"); 
       isSdkInstalled = (bool)sdkIsInstalledMethod.Invoke(targetAzureSDK, null); 
       var sdkProps = targetAzureSDKProp.GetProperties().ToArray(); 
       foreach (var prop in sdkProps) 
       { 
        try 
        { 
         sdkProperties[prop.Name] = string.Concat(prop.GetValue(targetAzureSDK)); 
        } 
        catch (Exception ex) 
        { 
         sdkProperties[prop.Name] = "Error:" + ex.Message; 
        } 
       } 

       if (isSdkInstalled) 
       { 
        // Get the Azure libraries reference 
        var targetAzureLibraries = azTypeInfo.GetProperty("TargetAzureLibraries").GetValue(val); 
        Type targetAzureLibrariesProp = targetAzureLibraries.GetType(); 
        var isInstalledMethod = targetAzureLibrariesProp.GetMethods().FirstOrDefault(it => it.Name == "IsLibrariesInstalled"); 
        isLibrariesInstalled = (bool)isInstalledMethod.Invoke(targetAzureLibraries, null); 
        var props = targetAzureLibrariesProp.GetProperties().ToArray(); 
        foreach (var prop in props) 
        { 
         try 
         { 
          libProperties[prop.Name] = string.Concat(prop.GetValue(targetAzureLibraries)); 
         } 
         catch (Exception ex) 
         { 
          libProperties[prop.Name] = "Error:" + ex.Message; 
         } 
        } 
       } 
       // Output details of this SDK 
       Console.WriteLine("{0}, {1}, {2}", version, isSdkInstalled, isLibrariesInstalled); 
       Console.WriteLine("\tSDK"); 
       foreach (var kp in sdkProperties) 
       { 
        Console.WriteLine("\t{0} {1}", kp.Key, kp.Value); 
       } 
       Console.WriteLine("\tLib"); 
       foreach (var kp in libProperties) 
       { 
        Console.WriteLine("\t{0} {1}", kp.Key, kp.Value); 
       } 
      } 
     } 
    } 
}