如果Content SourceDirectory包含类似文件,则打包Azure项目时出错

时间:2011-10-28 09:39:58

标签: azure

我正在尝试使用服务定义文件中的SourceDirectory功能,首先将“Base”目录的内容复制到Web角色,然后复制“AdditionalFiles”的内容。这适用于Azure中的调试,但是在打包解决方案时,如果AdditionalFiles文件夹包含与Base目录中相同位置的文件,则在打包解决方案时会出现Accessed Denied错误。

  

错误7拒绝访问路径'C:\ Users \ Alex \ AppData \ Local \ Temp \ vo0niiyx.rvt \ roles \ TestWebRole1 \ approot \ connectionStrings.config'。 C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Windows Azure Tools \ 1.5 \ Microsoft.WindowsAzure.targets 2

为了将其置于上下文中,我正在努力将现有应用程序迁移到Azure中运行。我正在做的第一步是简单地包装现有的功能,以便它只是在天蓝色中运行。此外,原始代码库正在快速变化,所以我想保持我的包装自定义非常独立,以避免不断处理合并等。到目前为止,我一直在通过一些复杂的PowerShell构建脚本处理这个问题。

作为参考,下面是我正在使用的ServiceDefinition文件,以及我的解决方案的目录结构。使用辅助角色时,我也遇到了同样的问题。

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="AzureSourceDirectoryTest" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
  <WebRole name="TestWebRole1" vmsize="ExtraSmall">
    <Contents>
      <Content destination=".">
        <SourceDirectory path="../Base" />
      </Content>
      <Content destination=".">
        <SourceDirectory path="../AdditionalFiles" />
      </Content>
    </Contents>
    <Endpoints>
      <InputEndpoint protocol="http" port="80" name="Http" />
    </Endpoints>
  </WebRole>
</ServiceDefinition>

目录结构(基于树命令的输出,删除了bin和obj文件夹的内容):

│   AzureSourceDirectoryTest.sln
│   
├───AdditionalFiles
│       connectionStrings.config
│       
├───AzureSourceDirectoryTest
│   │   AzureSourceDirectoryTest.ccproj
│   │   AzureSourceDirectoryTest.ccproj.user
│   │   ServiceConfiguration.Cloud.cscfg
│   │   ServiceConfiguration.Local.cscfg
│   │   ServiceDefinition.build.csdef
│   │   ServiceDefinition.csdef
│   ├───bin...                              
│   └───obj...
│
├───Base
│       connectionStrings.config
│       
└───TestWebRole1
    │   TestWebRole1.csproj
    │   TestWebRole1.csproj.user
    │   
    ├───bin...
    ├───obj...
    └───Properties
            AssemblyInfo.cs

1 个答案:

答案 0 :(得分:0)

我不确定这个应该做什么。实际上应该包含哪个connectionStrings.config?我的猜测是它会同时从两个不同的位置复制,一个由于并发访问而失败。我可以问你为什么要复制同一个文件两次吗?