我从V1.7到V1.8升级的Windows Azure SDK
我的配置的升级换代一部分之前
<Site name="Web">
<VirtualApplication name="MyprojectService" physicalDirectory="../../Myproject.Hosts.WebHost" />
</Site>
SDK的升级换代后
我收到以下错误。
错误1找不到合适的物理目录 'd:\项目\ MYPROJECT \分支机构\ Release_092012 \主机\ Myproject.Hosts.AzureHost \ MyprojectAzureHost \ Myproject.Hosts.WebHost' 虚路径网络/ MyprojectService /。 d:\项目\ MYPROJECT \分支机构\ Release_092012 \主机\ Myproject.Hosts.AzureHost \ MyprojectAzureHost \ BIN \发布\ ServiceDefinition.csdef中11 MyprojectAzureHost
我已经通过链接了Azure的Service.Csdef 。 我追加” ../"to的路径:
<Site name="Web">
<VirtualApplication name="MyprojectService" physicalDirectory="../../../Myproject.Hosts.WebHost" />
</Site>
但是当我打个包是越来越自动删除,我一次又一次地得到上述错误。
我也试图把完整路径“d:/项目/../ Myproject.Hosts.WebHost”但没有锁。
这是完全在SDK 1.7的工作。 但在SDK 1.8不工作
我会尝试(使用相同的示例应用程序)来解释两个最新的Windows Azure SDK之间的变化如下所以请看看每一种情况下,并在错误消息中显示的路径:
在以前的SDK中的虚拟目录源被定为项目的根目录默认但是现在最新的SDK中的虚拟目录源设置为项目输出目录,你可以在下面的案例#1看到的。
案例1:(失败)
<VirtualApplication name="MyWeb" physicalDirectory="MvcWebRole1">
Error: Cannot find the physical directory
'C:\Users\avkashc\Documents\Visual Studio 2012\Projects\WindowsAzure2012\WindowsAzure2012\bin\Release\MvcWebRole1' for virtual path Web/MyWeb/.
案例2:(失败)
<VirtualApplication name="MyWeb" physicalDirectory="..\MvcWebRole1">
Error: Cannot find the physical directory 'C:\Users\avkashc\Documents\Visual Studio 2012\Projects\WindowsAzure2012\WindowsAzure2012\bin\MvcWebRole1' for virtual path Web/MyWeb/.
案例3:(失败)
<VirtualApplication name="MyWeb" physicalDirectory="..\..\MvcWebRole1">
Error: Cannot find the physical directory 'C:\Users\avkashc\Documents\Visual Studio 2012\Projects\WindowsAzure2012\WindowsAzure2012\MvcWebRole1' for virtual path Web/MyWeb/.
案例4:(成功)
<VirtualApplication name="MyWeb"
physicalDirectory="..\..\..\MvcWebRole1">
由于上述情况#4文件夹设置在多数民众赞成确实匹配与我的实际MvcWebRole1的文件夹结构(如下所示),为什么“...... \”设置确实在我的‘PhysicalDirectory’制定工作。
您将需要从发行通过您的文件夹结构,走*作为源,然后再跟踪这些以往任何时候都存在,然后组装完整的路径一路。
sudhAnsu63,很抱歉,这给你带来麻烦。
在升级,在csdef具有相对路径的项目(如这里的情况)至1.8 SDK,你应该看到下面的警告在升级日志关于相对路径的变化。 这种特殊的变化,以更好地支持并行编译制作。
网站元素的physicalDirectory属性包含一个相对路径。 这个路径是相对于在包装时的目标服务定义文件所在的目录。 在以前的版本中这个文件位于项目根目录中。 在这个版本中,默认情况下,该文件位于项目输出目录。 您可能需要更新的相对路径,以反映目标服务定义文件的新位置。
文章来源: Cannot find the physical directory for virtual path, in Windows Azure project SDK 1.8