TFS部署到Azure错误:找不到ClientPerfCountersInstaller.exe
我将我们的实现配置为使用Azure缓存提供程序来维护所有云实例之间的会话状态,如下所述: 这在我的csdef文件上创建了一个新的启动任务,该任务始终失败,并出现以下错误:TFS部署到Azure错误:找不到ClientPerfCountersInstaller.exe,azure,tfs,tfsbuild,Azure,Tfs,Tfsbuild,我将我们的实现配置为使用Azure缓存提供程序来维护所有云实例之间的会话状态,如下所述: 这在我的csdef文件上创建了一个新的启动任务,该任务始终失败,并出现以下错误: C:\ProgramFiles(x86)\MSBuild\Microsoft\VisualStudio\v11.0\Windows Azure Tools\2.0\Microsoft.WindowsAzure.targets(987):CloudServices64:找不到名为“approot\bin\Microsoft.W
C:\ProgramFiles(x86)\MSBuild\Microsoft\VisualStudio\v11.0\Windows Azure Tools\2.0\Microsoft.WindowsAzure.targets(987):CloudServices64:找不到名为“approot\bin\Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe”的文件,用于启动任务Microsoft.WindowsAzure.Caching\ClientPerfCountersInstaller.exe安装角色MyRole.Web。
nuget包和主文件夹中的.exe包含在TFS用于部署的源代码管理中
我发现前一个问题解决了同样的问题:
但接受的答案表示只删除安装缓存所需的.exe的启动任务 确保.exe标记为
CopyAlways
,以便将其复制到\bin
目录中
要执行此操作,请在Visual Studio中右键单击.exe并选择“属性”。确保它看起来像这样:
我在专用缓存工作人员角色方面也遇到了类似的问题,但就我而言,Microsoft.WindowsAzure.Caching文件夹从未出现在VisualStudio中。最后,我不得不打开worker角色项目的.csproj文件,如下所示:
<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>
总是
总是
总是
我将它与app.config文件放在同一个
标记中,现在它正在按其应该的方式进行部署。您可以从C:\Program Files\Microsoft SDK\Windows Azure\.NET SDK\v2.0\ref\Caching目录引用exe和DLL,而不是使用Nuget。您需要将启动任务指向exe的正确位置。看起来它希望将exe设置为主项目目录下名为Microsoft.WindowsAzure.Caching的文件夹中的内容(在编译时它会将内容复制到bin目录)。这很奇怪,文件夹和文件都在那里:启动任务中exe的路径是什么?“似乎是”还是修复了问题?这里有类似的问题:我的工作者角色项目引用的类库引用了Microsoft.WindowsAzure.Caching V2.2.0.0,但没有此答案中提到的文件夹。解决方案:删除并再次添加带有NuGet数据包管理器的Microsoft.WindowsAzure.Caching.DLL,它为我创建了文件夹。我遇到了相同的问题,但生成操作也必须为“无”,并将其设置为“内容”。谢谢你的帮助!