2014年2月13日 星期四

TFS Deployment to Azure Error的處理: ClientPerfCountersInstaller.exe

Microsoft.WindowsAzure有時候一個處理不小心,會出現下列的錯誤訊息(有些路徑會依版本不同有些許不同:

「Error 161 CloudServices64 : Cannot find file named 'approot\Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe' for startup task Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe install  of role ManiaWorkerRole1. C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Windows Azure Tools\2.3\Microsoft.WindowsAzure.targets 985 5 ManiaAppAzure」

這是因為它會載入一個ClientPerfCountersInstaller.exe的執行程式,這時候的處理方式有2種。
一種是到相關文字底上,大部分是存放在ServiceDefinition.csdef裡面。

<Startup priority="-2">
     <Task commandLine="Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe install" executionContext="elevated" taskType="simple" />

</Startup>

將上面文字上的task標籤整個標註起來如下:

<Startup priority="-2">
     <!--<Task commandLine="Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe install" executionContext="elevated" taskType="simple" />-->
</Startup>

另一種的方式是將exe文件被標記為CopyAlways,讓程式在編譯時能複製到\ bin目錄。操作方式就是在Microsoft.WindowsAzure.Caching下方ClientPerfCountersInstaller.exe選項按右鍵點擊Properties,然後選擇「Copy to Output Directo CopyAlways」。如同下面圖示範例:


-雲遊山水為知已逍遙一生而忘齡- 電腦神手

沒有留言:

張貼留言