2013-07-31 4 views
5

ich unsere Implementierung konfigurierte, um den Azure Caching-Anbieter verwenden Sitzungsstatus zwischen allen Cloud-Instanzen zu halten wie hier beschrieben: http://msdn.microsoft.com/en-us/library/windowsazure/gg185668.aspxTFS Deployment zu Azure Fehlern: kann nicht finden, ClientPerfCountersInstaller.exe

Dieses ein neues Start-Task erstellt auf meinem csdef-Datei, die immer mit diesem Fehler fehlschlägt:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Windows Azure Tools\2.0\Microsoft.WindowsAzure.targets (987): CloudServices64 : Cannot find file named 'approot\bin\Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe' for startup task Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe install of role MyRole.Web.

die .exe im nuget Paket und im Hauptordner ist in der Quellcodeverwaltung enthält, dass TFS für den Einsatz verwendet.

fand ich diese vorherige Frage, die das gleiche Problem behebt: Azure Deployment Error: cannot find ClientPerfCountersInstaller.exe

Aber die akzeptierte Antwort Staaten nur die Start-Task zu löschen, die die EXE für das Caching benötigen installiert zu.

+0

Anstatt Nuget zu verwenden, können Sie die exe & dlls im Verzeichnis C: \ Programme \ Microsoft SDKs \ Windows Azure \ .NET SDK \ v2.0 \ ref \ Caching referenzieren. Sie müssen die Startaufgabe auf den richtigen Speicherort für die Exe verweisen. Es sieht so aus, als ob erwartet wird, dass die exe als Inhalt in einem Ordner namens Microsoft.WindowsAzure.Caching vom Hauptverzeichnis des Projekts gesetzt wird (bei der Kompilierung wird der Inhalt in das Verzeichnis bin kopiert). –

+0

Das ist die seltsame Sache, der Ordner und die Datei sind beide da: s – amhed

+0

Was ist der Pfad in Ihrer Startaufgabe zur exe? –

Antwort

10

Stellen Sie sicher, dass die .exe als CopyAlways markiert ist, so dass sie in Ihr Verzeichnis \bin kopiert wird.

Um dies zu tun, klicken Sie mit der rechten Maustaste auf die .exe in Visual Studio und wählen Sie Eigenschaften. Stellen Sie sicher, dass es wie folgt aussieht:

Copy Always Property setup

+1

Ähnliches Problem hier: Eine Klassenbibliothek, auf die von meinem Worker-Rollenprojekt verwiesen wird, referenzierte Microsoft.WindowsAzure.Caching V2.2.0.0, hatte aber nicht den in dieser Antwort erwähnten Ordner. LÖSUNG: Entfernt und hinzugefügt die Microsoft.WindowsAzure.Caching.DLL mit NuGet Packet Manager und es erstellt den Ordner für mich. – huha

+0

Ich hatte das gleiche Problem, aber die Build-Aktion musste auch "None" sein und es wurde auf "Inhalt" eingestellt. Danke für die Hilfe! –

0

Ich hatte ein ähnliches Problem mit einer dedicate Cache Arbeiter Rolle, aber in meinem Fall der Microsoft.WindowsAzure.Caching Ordner zeigten nie in Visual Studio auf. Am Ende hatte ich die CSPROJ-Datei für den Arbeiter Rolle Projekt zu öffnen und diese:

<None Include="Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe.config"> 
    <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
</None> 
<None Include="Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe"> 
    <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
</None> 
<None Include="Microsoft.WindowsAzure.Caching\PerformanceCounters.xml"> 
    <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
</None> 

Ich, dass innerhalb des gleichen <ItemGroup> Tages als Datei app.config, und jetzt ist es den Einsatz, wie es sollte.

+0

"Es schien" oder feste Dinge? –

Verwandte Themen