2011-09-06 65 views
1

如果我通过Visual Studio创建Azure包,那么它可以正常运行并在Azure上运行。如果我运行以下cmd,则创建的.cspkg为8,032KB,而不是通过Visual Studio创建的14,785KB。这个cspack命令行有什么问题?

生成.cspkg的命令行应该比通过Visual Studio更大,因为afterbuild事件会创建额外的css/javascript文件。

我想通过命令行来运行它,就像我在本地部署项目时一样,它会在afterbuild事件中压缩/缩小,并且我无法弄清楚如何在该过程之后创建Azure包,所以我认为我会做用这种方式代替。

cspack.exe C:\blah\Azure\ServiceDefinition.csdef 
/role:Project.Web;C:\blah\Deploy 
/sites:Project.Web;Web;C:\blah\Deploy 
/rolePropertiesFile:Project.Web;C:\blah\AzureRoleProperties.txt 
/out:C:\Package.cspkg 

服务定义有:

<Site name="Web" physicalDirectory="..\Project.Web"> 

我的项目只有1个角色,所以我不明白,为什么通过Visual Studio中的文件大小是近一倍,我也不能.zip文件添加到.cspkg并查看我的cmd行生成的.cspkg文件。

回答

2

一些事情。在Visual Studio中打包项目时,它会在构建包之前进行构建。只是运行CSPack不会构建,它只是做包装。所以它可能是它包装的目录之一是空的。

另外值得一提的是,如果一个网站的名称为“Web”,那么许多其他参数(包括物理目录)会被忽略。为了解决这个问题,你可以尝试改变网站名称,或者找出它真正从哪里来。

+1

谢谢!我首先在本地发布网站,然后运行cspack。我只需将网站名称=“Web”更改为其他内容即可。 – KevinUK