4

我将我们的实现配置为使用 Azure 缓存提供程序来维护所有云实例之间的会话状态,如下所述:http: //msdn.microsoft.com/en-us/library/windowsazure/gg185668.aspx

这在我的 csdef 文件上创建了一个新的启动任务,该任务总是因以下错误而失败:

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.

nuget 包和主文件夹中的 .exe 包含在 TFS 用于部署的源代码控制中。

我发现这个先前的问题解决了同样的问题: Azure 部署错误:找不到 ClientPerfCountersInstaller.exe

但接受的答案表明只删除安装缓存所需的 .exe 的启动任务。

4

2 回答 2

11

确保将 .exe 标记为CopyAlways以便将其复制到您的\bin目录中。

为此,请右键单击 Visual Studio 中的 .exe 并选择属性。确保它看起来像这样:

复制 Always 属性设置

于 2013-08-22T14:03:30.013 回答
1

我在专用缓存工作者角色方面遇到了类似的问题,但在我的情况下,Microsoft.WindowsAzure.Caching 文件夹从未出现在 VisualStudio 中。最后,我不得不为工作角色项目打开 .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>

我将它放在与<ItemGroup>app.config 文件相同的标签中,现在它正在按应有的方式进行部署。

于 2013-11-07T21:26:35.460 回答