2011-06-17 95 views
0

我正在使用TFS构建包含ASP.NET MVC 3 Web角色的Azure项目。由于CSPack未找到文件导致TFS构建失败

目前我的版本是与以下错误而失败: -

C:\Program Files (x86)\MSBuild\Microsoft\Cloud Service\1.0\Visual Studio 10.0\Microsoft.CloudService.targets (202): Could not find a part of the path...

跟着一个叫 “WaIISHost.exe.config” 下的“{AzureProject} \角色文件的路径\ {WebRole} \ 64 \”。

我检查了构建服务器,并且确实这个文件不存在。实际上,整个“{webRole} \ x64 \”目录似乎没有被创建。当我在自己的机器上构建时,该目录也不会被创建。我使用向导创建了一个新的Azure项目(还有一个由向导创建的MVC 2 Web角色),而且目录也不是为此创建的。

Microsoft.CloudService.targets中的第202行似乎正在调用CSPack实用程序 - 这可能是试图打包WebRole以进行部署。它期望“... \ x64”目录中的文件没有找到它们 - 因此构建失败。

尽管“缺少”文件,我可以从我自己的机器上构建和发布。我只在构建服务器上发生错误。

  • 为什么” ... \ 64" 是不是正在为我的Web角色创建的目录 任何想法?

  • 是否可以指示CSPack到 不查找这些文件?

  • 什么依赖CSPack在构建过程中完成其工作?如果我从.targets文件中删除CSPack调用,会有什么后果吗?

编辑

多数民众赞成failling日志的部分是: -

ModelFile   is (TaskId:310) 
OutputDirectory  is C:\Builds\2\GBC\GBC - CI Build\Binaries\GBC.Web.Azure.csx\ (TaskId:311) 
PackRoles   is C:\Builds\2\GBC\GBC - CI Build\Sources\GBC\GBC.Web.Azure\obj\Release\GBC.Web.Site\, Name=GBC.Web.Site, EntryPoint=GBC.Web.Site.dll, SourceDir=C:\Builds\2\GBC\GBC - CI Build\Sources\GBC\GBC.Web.Site\ (TaskId:312) 
RoleProperties  is GBC.Web.Site, EntryPoint=GBC.Web.Site.dll, TargetFrameworkVersion=v4.0 (TaskId:313) 
ServiceDefinitionCopy is ServiceDefinition.build.csdef (TaskId:314) 
ServiceConfigurationCopy is C:\Builds\2\GBC\GBC - CI Build\Binaries\ServiceConfiguration.cscfg (TaskId:315) 
Calling ServicePack (TaskId:316) 
Using "CSPack" task from assembly "C:\Program Files (x86)\Windows Azure SDK\v1.4\bin\Microsoft.ServiceHosting.Tools.MSBuildTasks.dll". 
Task "CSPack" (TaskId:317) 
Searching for imported module Diagnostics at C:\Program Files (x86)\Windows Azure SDK\v1.4\bin\plugins\Diagnostics\Diagnostics.csplugin... (TaskId:317) 
Copying 'C:\Builds\2\GBC\GBC - CI Build\Sources\GBC\GBC.Web.Azure\obj\Release\GBC.Web.Site\' to C:\Builds\2\GBC\GBC - CI Build\Binaries\GBC.Web.Azure.csx\roles\GBC.Web.Site\approot... (TaskId:317) 
Copying 'C:\Program Files (x86)\Windows Azure SDK\v1.4\bin\runtimes\base\x86' to C:\Builds\2\GBC\GBC - CI Build\Binaries\GBC.Web.Azure.csx\roles\GBC.Web.Site\base\x86... (TaskId:317) 
Copying 'C:\Program Files (x86)\Windows Azure SDK\v1.4\bin\runtimes\diagnostics\x86' to C:\Builds\2\GBC\GBC - CI Build\Binaries\GBC.Web.Azure.csx\roles\GBC.Web.Site\diagnostics\x86... (TaskId:317) 
C:\Program Files (x86)\MSBuild\Microsoft\Cloud Service\1.0\Visual Studio 10.0\Microsoft.CloudService.targets(202,5): error : Could not find a part of the path 'C:\Builds\2\GBC\GBC - CI Build\Binaries\GBC.Web.Azure.csx\roles\GBC.Web.Site\base\x64\WaIISHost.exe.config'. [C:\Builds\2\GBC\GBC - CI Build\Sources\GBC\GBC.Web.Azure\GBC.Web.Azure.ccproj] 
Done executing task "CSPack" -- FAILED. (TaskId:317) 

看起来它与CSPack一个问题 - 它是从程序文件复制的文件... \ bin \ runtimes \ base \ x86,但不是来自... \ x64,那么它会在目标... \ x64目录中显示某些内容。可能与CSPack配置的方式有关?绝对看起来这不是MSBuild创建这些文件的工作。

+0

您的生成机器上是否安装了Azure工具? –

回答

1

管理修复它。

如果您正尝试在服务器上构建azure项目,并且正在按照以下指示进行操作: - http://bartwullems.blogspot.com/2011/05/building-azure-solutions-on-your-build.html - 确保如果您的服务器是64位,请将这些文件从64位计算机上复制下来。如果你在64位机器上安装了32位SDK,它不会那样!

或者,您可以使用Web平台安装程序来安装Azure SDK。

1

你能否提供详细的MSBuild输出并发布(选择你的buildtype)?

通常,当没有创建文件夹时,这是因为配置问题或缺少权限。

MS做了一个体面的工作,打破了什么CSPack做here

不知道这是否有帮助,但它至少是一个起点。

+0

添加了构建输出的失败部分。 –

+0

我读过它 - 没有什么突出的。由于任何原因,我没有看到其他任何内容,因此没有权限创建文件夹。假设你已经正确安装了这些工具 - 我看不出有什么问题。抱歉,我无法帮助你,在这一点上,我可能会像解决它一样排除故障,删除任务,将它移到构建过程的不同部分等。 –

+0

感谢您的期待! –

相关问题