Azure 使用命令行工具cspack时出错

Azure 使用命令行工具cspack时出错,azure,Azure,我在执行cspack命令时遇到以下错误 错误CloudServices051:XML规范无效:命名空间“”中的元素“WebRole”的内容不完整。可能的元素列表应为命名空间“”中的“Sites” 从您的例子中,我猜您正在使用Sririam Krishnan的《编程Windows Azure》一书 这篇文章发表于2010年5月。书中要么给出了一个失败的例子,要么从那时起Azure框架中引入了一些失败的变化 下面是第51页中的ServiceDefinition.csdef文件,已修改为与Azure

我在执行cspack命令时遇到以下错误 错误CloudServices051:XML规范无效:命名空间“”中的元素“WebRole”的内容不完整。可能的元素列表应为命名空间“”中的“Sites”


从您的例子中,我猜您正在使用Sririam Krishnan的《编程Windows Azure》一书

这篇文章发表于2010年5月。书中要么给出了一个失败的例子,要么从那时起Azure框架中引入了一些失败的变化

下面是第51页中的
ServiceDefinition.csdef
文件,已修改为与Azure SDK v2.8一起使用:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="CloudService1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" > 
  <WebRole name="WebRole1" enableNativeCodeExecution="false">
    <InputEndpoints>
      <InputEndpoint name="HttpIn" protocol="http" port="80" />
    </InputEndpoints>
    <ConfigurationSettings />
    <!-- This sites node was not included in the example -->
    <Sites>
        <Site name="TokenSite" physicalDirectory="htmlwebsite">
            <Bindings>
                <Binding name="BindingOne" endpointName="HttpIn" />
            </Bindings>     
        </Site>
    </Sites>
  </WebRole>
</ServiceDefinition>

新增的是
站点
节点,包含一个站点。
physicalDirectory
属性必须指向包含html文件的文件夹。在我添加
Sites
节点之前,
cspack
实用程序失败

有趣的是,如果您在(最近一次更新于2015年4月15日)中阅读到关于
站点的
元素,它会明确指出:

如果未指定站点元素,则您的web角色将作为旧web角色承载,并且您的web角色中只能承载一个网站。。。此元素是可选的,角色只能有一个站点块。(我的斜体)


我从你的例子中猜测,你正在使用Sririam Krishnan的《编程Windows Azure》一书

这篇文章发表于2010年5月。书中要么给出了一个失败的例子,要么从那时起Azure框架中引入了一些失败的变化

下面是第51页中的
ServiceDefinition.csdef
文件,已修改为与Azure SDK v2.8一起使用:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="CloudService1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" > 
  <WebRole name="WebRole1" enableNativeCodeExecution="false">
    <InputEndpoints>
      <InputEndpoint name="HttpIn" protocol="http" port="80" />
    </InputEndpoints>
    <ConfigurationSettings />
    <!-- This sites node was not included in the example -->
    <Sites>
        <Site name="TokenSite" physicalDirectory="htmlwebsite">
            <Bindings>
                <Binding name="BindingOne" endpointName="HttpIn" />
            </Bindings>     
        </Site>
    </Sites>
  </WebRole>
</ServiceDefinition>

新增的是
站点
节点,包含一个站点。
physicalDirectory
属性必须指向包含html文件的文件夹。在我添加
Sites
节点之前,
cspack
实用程序失败

有趣的是,如果您在(最近一次更新于2015年4月15日)中阅读到关于
站点的
元素,它会明确指出:

如果未指定站点元素,则您的web角色将作为旧web角色承载,并且您的web角色中只能承载一个网站。。。此元素是可选的,角色只能有一个站点块。(我的斜体)


由于几乎没有文档,我在尝试使用CSPack时没有任何运气。你想完成什么?我刚刚开始在Azure中编写hello world程序,并遵循一本书。在本书中,作者建议使用命令行工具,因为它为初学者提供了很好的技术洞察力。无论如何,我将切换到MSV,但在此之前,我想调试这个问题,但由于几乎没有文档,我没有任何运气尝试使用CSPack。你想完成什么?我刚刚开始在Azure中编写hello world程序,并遵循一本书。在本书中,作者建议使用命令行工具,因为它为初学者提供了很好的技术洞察力。无论如何,我们将切换到MSV,但在此之前,我们希望调试此问题