Azure .cspkg使用cspack与VS2012时的尺寸差异

Azure .cspkg使用cspack与VS2012时的尺寸差异,azure,Azure,在云项目上使用VS2012“Package”命令时,我得到一个9mb.cspkg文件,而直接调用azure sdk cspack.exe时得到7mb文件。在使用命令行时,必须忽略一些重要的内容,我将其用于连续构建服务器-我希望有一种更好的方式在构建服务器上打包云项目,而不是调用cspack.exe,以防没有 在MSBuild(任务)结束时在powershell中调用的命令 当我将7mb包部署到azure时,我看到的错误是在调用where Message是MVC控制器时出现的404错误。vs201

在云项目上使用VS2012“Package”命令时,我得到一个9mb.cspkg文件,而直接调用azure sdk cspack.exe时得到7mb文件。在使用命令行时,必须忽略一些重要的内容,我将其用于连续构建服务器-我希望有一种更好的方式在构建服务器上打包云项目,而不是调用cspack.exe,以防没有

在MSBuild(任务)结束时在powershell中调用的命令

当我将7mb包部署到azure时,我看到的错误是在调用where Message是MVC控制器时出现的404错误。vs2012内的模拟器和部署工作正常


谢谢

我想问题可能在于你的/角色论证。查看页面上的示例,它们不添加路径,只添加入口点的DLL名称。您对/role的使用:$role$rolePath在那里放了一条路。如果$role的值与包含角色入口点的程序集名称相同,则改为put/role:$role$角色,看看这会给你带来什么

您还可以直接调用随Azure SDK工具随MSBuild一起提供的CSPack生成任务。这与VS在使用package命令时调用的任务相同。WindowsAzure.com上有一篇文章对此进行了描述:。如果您对传递给CSPACK MSBuild任务的参数有疑问,可以在“工具”->“选项”->“项目和解决方案”->“生成和运行”下将MSBuild详细信息转换为“诊断”。然后运行Package命令并查看它被馈送的内容


如果您有兴趣尝试跟踪哪些内容没有被包括在内,那么您可以深入研究生成的cspkg文件。将它们重命名为.zip from.cspkg并提取内容。在每个角色中,您要部署的每个角色都有一个.cssx文件。将此.cssx文件重命名为.zip并将其解压缩。现在,您将看到在角色实例启动时将传递给它们的内容。使用winDiff、Beyond compare等文件比较工具,您应该能够看到两者之间的不同和缺少的文件。这可能有助于找出区别

您是否尝试过/copyOnly标记并验证缺少的内容?在我的例子中,它是诊断代理所缺少的,我正试图找出把它放在那里的方法。
& cspack "$cloudProject/ServiceDefinition.csdef" "/role:$role;$rolePath"         "/rolePropertiesFile:$role;$propertiesFile" "/sites:$role;Web;$rolePath" "/out:CmsBase.Cloud.cspkg" "/generateConfigurationFile:ServiceConfiguration.Cloud.cscfg"