如何确保TFS使用的是最新的Azure SDK?
我有一个Visual Studio 2013/Azure SDK 2.3解决方案,其中包含一个WebRole ccproj项目,我正在尝试将构建和打包自动化为.cspkg文件 如果我在我的开发机器上构建解决方案,然后右键单击project并执行“打包”(使用Cloud/Release),那么一切都正常 但是,在TFS Build Controller计算机上,出现以下错误:如何确保TFS使用的是最新的Azure SDK?,azure,tfs,azure-web-roles,Azure,Tfs,Azure Web Roles,我有一个Visual Studio 2013/Azure SDK 2.3解决方案,其中包含一个WebRole ccproj项目,我正在尝试将构建和打包自动化为.cspkg文件 如果我在我的开发机器上构建解决方案,然后右键单击project并执行“打包”(使用Cloud/Release),那么一切都正常 但是,在TFS Build Controller计算机上,出现以下错误: C:\Builds\439\MyPortal\Dev-MyPortal\bin\Debug\ServiceDefiniti
C:\Builds\439\MyPortal\Dev-MyPortal\bin\Debug\ServiceDefinition.csdef: Cannot find the physical directory 'C:\Builds\439\MyPortal\MyGateway' for virtual path MyGateway/.
这似乎表明TFS生成服务器正在对站点物理目录声明使用旧的Azure SDK 1.7(及之前版本)行为:
<Site name="SolovisPortal" physicalDirectory="..\..\..\SolovisPortal">
然而,我的cspkg是18MB,但是我通过VisualStudio手动“打包”了cspkg,它只有15MB。VS正在做一些特殊的事情来压缩文件吗?我相信您正在使用托管的构建服务器。如果是,请按照下面的链接,在托管生成服务器上安装Windows Azure SDK 2.2。我正在使用本地生成控制器。我在构建控制器上安装了Visual Studio 2013和Windows Azure SDK 2.3。看起来问题的一部分是TFS试图将已折叠到单个输出文件夹中的文件打包。我目前正在考虑从生成后步骤调用cspack(如果存在我设置的自定义变量)。我可以从命令行生成cspack文件,但我生成的cspkg文件似乎是18MB,但通过VS2013手动打包项目创建的cspack文件是15MB。Visual Studio是否做了一些特殊的操作来压缩文件?是否有方法撤消此问题或重命名它?现在很清楚,TFS上的Azure SDK版本不是问题所在。问题似乎在于,要在VisualStudio和TFS中自动生成cspkg文件,需要更多的msbuild/csproj/ccproj黑客操作。
cspack MyPortalAzure\bin\Release\ServiceDefinition.csdef /out:test.cspkg /useCtpPackageFormat