我在为磁盘角色创建一个总计高达380兆字节的软件包时遇到问题。我可以在指定/ copyOnly标志时让CSPack正常运行,但是一旦我尝试创建实际的包文件,我就会得到一个OutOfMemoryException。在我向Web角色项目添加了大约350兆字节的静态内容后,问题就出现了。
我已经在Stack Overflow上找到了similar question,但即使将所有内容设置为“Do Not Copy”,我仍然会遇到与CSPack崩溃相同的问题。只是为了验证静态内容是导致问题的原因,我将其从Visual Studio中的项目中排除,并且CSPack从命令行运行正常。
这是我从cmd.exe执行的命令:
"C:\Program Files\Windows Azure SDK\v1.4\bin\cspack"
BizBlimp.Azure\ServiceDefinition.csdef /role:BizBlimp;Build\BizBlimp
/role:BizBlimp.QueueWorker;Build\BizBlimp.QueueWorker;Biz
Blimp.QueueWorker.dll /sites:BizBlimp;Web;Build\BizBlimp /rolePropertiesFile:Biz
Blimp;properties.txt /rolePropertiesFile:BizBlimp.QueueWorker;properties.txt /ou
t:Build\BizBlimp.Azure.cpkg
这是我的网络角色的项目文件: https://gist.github.com/88e776bb611cf6a8521e
在过去几个工作日里,我一直在反对这个问题,所以任何帮助都会非常感激。
修改:Link to the same issue on the Microsoft Azure Forums。看起来这得到了MSFT员工的一些关注。
答案 0 :(得分:2)
这是很多静态内容。每次更新应用程序时,您都必须上传350mb的内容。您是否考虑过将静态内容存储在blob存储中?看起来大多数都是图像,并且会在那里坐得很好。对不起,这不能解决你的崩溃问题,但从长远来看,它可能会让你的生活变得更轻松。