0

我的 .csdef 文件:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="SimpleAzure1.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
  <WebRole name="SimpleAzure1" vmsize="Small">
    <Sites>
      <Site name="Web2" physicalDirectory="../../../SimpleAzure1/">

        <Bindings>
          <Binding name="Endpoint2" endpointName="Endpoint2" hostHeader="SimpleAzure1.cloudapp.net" />

        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint2" protocol="http" port="80"></InputEndpoint>
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>

我的项目结构是:

结构

我定义physicalDirectory="../../../SimpleAzure1/"了,.csdef 但是当我创建一个包并在 azure physicalDirectory 中部署时, default.aspx页面没有加载。它从asp.net wepappliaction.当我physicalDirectory.csdef文件中定义为什么asp.net wepappliaction页面加载时加载页面。我错过了一些东西。谢谢。

4

2 回答 2

1

同意 knightpfhor - 如果您只有一个站点,请删除物理目录和主机头。

如果您在角色中使用多个站点,则部署从 SDK 1.7 更改为 1.8:

physicalDirectory 属性路径相对于打包时目标服务定义文件所在的目录。在以前的版本中,此文件位于根项目目录中。在此版本中,默认情况下,此文件位于项目输出目录中。您可能需要更新相对路径以反映目标服务定义文件的新位置。

要查看文件的实际位置,请在实例中启用远程访问和 RDP。检查 IIS 中指定的物理目录,然后确认路径存在并引用已安装的网站,通常是 E:\sitesroot\0 或 F:\sitesroot\0

于 2012-12-28T02:56:27.637 回答
0

如果您的 Web 角色中只有一个站点,则无需指定物理目录或主机标头。我怀疑构建器采取了一些捷径。尝试从角色中删除站点并再次添加它,这次保留默认值。

于 2012-12-27T17:20:19.610 回答