我正在使用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创建这些文件的工作。
您的生成机器上是否安装了Azure工具? –