2013-07-31 13 views
5

ho configurato la nostra implementazione per utilizzare il provider Azure Caching per mantenere lo stato della sessione tra tutte le istanze di cloud come descritto qui: http://msdn.microsoft.com/en-us/library/windowsazure/gg185668.aspxTFS distribuzione per errore Azure: non riesce a trovare ClientPerfCountersInstaller.exe

questo ha creato una nuova attività di avvio sul mio file di csdef che non riesce sempre con questo errore:

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.

L'exe nel pacchetto NuGet e nella cartella principale è incluso nel controllo del codice sorgente che utilizza TFS per la distribuzione.

Ho trovato questa domanda precedente che risolve questo stesso problema: Azure Deployment Error: cannot find ClientPerfCountersInstaller.exe

Ma gli stati risposta accettata per eliminare solo il compito di avvio che consente di installare il file exe necessario per la memorizzazione nella cache di prendere posto.

+0

Invece di utilizzare Nuget, è possibile fare riferimento a exe & dll dalla directory C: \ Programmi \ Microsoft SDK \ Windows Azure \ .NET SDK \ v2.0 \ ref \ Caching. Avrai bisogno di puntare l'operazione di avvio nella posizione corretta per l'exe. Sembra che si aspetti che l'exe sia impostato come contenuto in una cartella con il nome di Microsoft.WindowsAzure. Disattivando la directory del progetto principale (al momento della compilazione copierà il contenuto nella directory bin). –

+0

Questa è la cosa strana, la cartella e il file sono entrambi lì: s – amhed

+0

Qual è il percorso nell'attività di avvio per l'exe? –

risposta

10

Assicurarsi che l'exe sia contrassegnato come CopyAlways in modo che venga copiato nella directory \bin.

Per fare ciò, fare clic con il pulsante destro del mouse su .exe in Visual Studio e selezionare Proprietà. Assicurarsi che assomiglia a questo:

Copy Always Property setup

+1

Problema simile qui: Una libreria di classi a cui fa riferimento il mio progetto di ruolo worker fa riferimento a Microsoft.WindowsAzure.Caching V2.2.0.0 ma non ha la cartella come menzionato in questa risposta. SOLUZIONE: rimosso e aggiunto nuovamente Microsoft.WindowsAzure.Caching.DLL con NuGet Packet Manager e ha creato la cartella per me. – huha

+0

Ho avuto lo stesso problema, ma l'azione di build doveva essere "None" ed era impostata su "Content". Grazie per l'aiuto! –

0

ho avuto un problema simile con un ruolo di dedicare operaio cache, ma nel mio caso la cartella Microsoft.WindowsAzure.Caching mai arrivato in VisualStudio. Alla fine, ho dovuto aprire il file Csproj per il progetto il ruolo dei lavoratori e questo:

<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> 

ho messo che all'interno della stessa <ItemGroup> tag del file app.config, e ora è la distribuzione come dovrebbe.

+0

"sembrava" o aggiustato le cose? –

Problemi correlati