Content SourceDirectoryに類似のファイルが含まれている場合、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ファイルと、私のソリューションのディレクトリ構造の両方を以下に示します。私は、Worker Roleを使用するときにも同じ問題が発生しました。

<?xml version="1.0" encoding="utf-8"?>

  
    
      
        
      
      
        
      
    
    
      <inputEndpoint protocol="http" port="80" name="Http" />
    
  

ディレクトリ構造(treeコマンドの出力に基づいて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
2

1 答え

私はこれを行うべきかは分かりません。どのconnectionStrings.configが実際に含まれるべきですか?私の推測では、同時に2つの異なる場所からコピーされており、1つは同時アクセスのために失敗しているということです。なぜ同じファイルを2回コピーしているのか尋ねることはできますか?

0
追加された
私が行っているシナリオは、Azureで動作するように既存のアプリケーションをラッピングすることです。したがって、私の変更を実際のアプリケーションとは別に、次のようにして維持しようとしています。1)基本アプリケーションをWebロールにコピーします。2)コピーしたものの上に追加します。1 Visual Studioで単純にデバッグすると、予想通りです(ただし、connectionstrings.configファイルが置き換えられたというコンパイラの警告があります)。これは、このアクセス権を取得したパブリッシュ/デプロイメントでエラーが発生した場合にのみ発生します。
追加された 著者 Alex,