如果我通过 Visual Studio 创建 Azure 包,那么它可以正常工作并在 Azure 上运行。如果我运行以下 cmd,则创建的 .cspkg 为 8,032KB,而不是通过 Visual Studio 创建的 14,785KB。
命令行生成的 .cspkg 应大于通过 Visual Studio 生成的文件,因为 afterbuild 事件会创建额外的 css/javascript 文件。
我想通过命令行运行它,因为当我在本地部署项目时,它会在构建后事件中压缩/缩小,并且我无法弄清楚如何在该过程之后创建 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 文件。
最佳答案
有几件事。当您在 Visual Studio 中打包项目时,它会在打包之前进行构建。仅运行 CSPack 并不执行构建,它仅执行打包。所以可能是它打包的目录之一是空的。
还值得注意的是,如果站点的名称为“Web”,则许多其他参数(包括物理目录)将被忽略。要解决这个问题,您可以尝试更改网站名称,或者找出它真正从哪里提取内容。
关于visual-studio - 这个 cspack 命令行有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7323098/