私は多くのプロジェクトで大きなソリューションファイルを持っています。 3つのAzure Webロールプロジェクトが含まれています。 エラーCloudServices077:error CloudServices077:ロールの仮想パス 'Web /'の物理ディレクトリを指定する必要があります
<MSBuild
Projects="$(ProductRoot)\Product.sln"
Properties="Configuration=$(BuildConfiguration);OutputPath=$(OutputPath)\Product;OutDir=$(OutputPath)\Product\;TargetProfile=$(TargetProfile);CloudExtensionsDir=$(CloudExtensionsDir);ServiceHostingSDKInstallDir=$(ServiceHostingSDKInstallDir);AzureClientLibInstallDir=$(AzureClientLibInstallDir);GenerateProjectSpecificOutputFolder=true"
Targets="Build;Publish"/>
しかし、私たちのAzureプロジェクトのために、これはと失敗している:私たちはこのようなソリューション構築するのMSBuildを使用している仮想パスのための物理ディレクトリを指定する必要があります「をウェブ/」役割のウェブサービス。
ソリューションは、このエラーで失敗する理由私は理解していないのVisual Studio 2015
で罰金構築します。クラウドプロジェクトにはそれぞれ1つのサイトしかなく、physicalDirectoryは必要ありません。ここはCSDEFからのものです:
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="WebService" />
</Bindings>
</Site>
</Sites>
私はphysicalDirectoryに何を置きたいのか分かりません。
私は、ビルドターゲットでソリューションをMSBuildするだけで、クラウドプロジェクト(CCPROJ)ファイルのそれぞれを公開ターゲットでMSBuildすると、正常に動作することがわかりました。しかし、MSBuildで個々のプロジェクトを管理することなく、ソリューション全体を公開する必要があります。
私は、インターネット上で見つけることができました。この問題への唯一の他の参照は、このブログのエントリから来ている: https://blogs.msdn.microsoft.com/tomholl/2011/10/19/updates-to-windows-azure-msbuild-post-for-sdk-1-5/ そして、それは暗黙のうちに、私はPackageForComputeEmulatorを指定することでこの問題を回避することができます示唆しています。まず、私が正しくそれを読んでいるかどうかは分かりませんし、第二に私がいても、ビルドされたCSPKGファイルがPackageForComputeEmulatorが指定されているかどうかでどのように違うのかを理解したいと思います。私。 PackageForComputeEmulatorが設定された運用環境に展開することはまだ可能で安全ですか?
私はこのエラーが発生する理由を知り、解決方法を知っている人がいれば、私はそれを感謝します!以下は
エラーを与えるMSBuildの診断ビルドから吐き出すです:
Target "Build" skipped. Previously built successfully.
Target "CorePublish" in file "C:\tfs\azure\2.8\Microsoft.WindowsAzure.targets" from project "C:\tfs\Product\WebService.Cloud\WebService.Cloud.ccproj" (target "Publish" depends on it):
Task "Message"
CorePublish: PackageWebRole = True
Done executing task "Message".
Task "Message"
Publishing starting...
Done executing task "Message".
Task "Message"
RolePlugins is
Done executing task "Message".
Task "Message"
Importedmodules is
Done executing task "Message".
Task "Message"
Publishing to 'c:\Build\Productapp.publish\'
Done executing task "Message".
Task "MakeDir"
Creating directory "c:\Build\Productapp.publish\".
Done executing task "MakeDir".
Task "Message"
TargetServiceDefinition is c:\Build\Product\WebService.Cloud\ServiceDefinition.csdef
Done executing task "Message".
Task "Message"
TargetServiceConfiguration is c:\Build\Product\WebService.Cloud\ServiceConfiguration.cscfg
Done executing task "Message".
Task "Message"
Roles is
Done executing task "Message".
Using "CSPack" task from assembly "C:\tfs\azure\v2.8\bin\Microsoft.ServiceHosting.Tools.MSBuildTasks.dll".
Task "CSPack"
Searching for imported module RemoteAccess at C:\tfs\azure\v2.8\bin\plugins\RemoteAccess\RemoteAccess.csplugin...
Searching for imported module RemoteForwarder at C:\tfs\azure\v2.8\bin\plugins\RemoteForwarder\RemoteForwarder.csplugin...
C:\tfs\azure\2.8\Microsoft.WindowsAzure.targets(3003,5): warning : CloudServices68 : No TargetFrameworkVersion specified for role WebService. Using .NET framework v4.0 for packaging. [C:\tfs\Product\WebService.Cloud\WebService.Cloud.ccproj]
c:\Build\Product\WebService.Cloud\ServiceDefinition.csdef : error CloudServices077: Need to specify the physical directory for the virtual path 'Web/' of role WebService. [C:\tfs\Product\WebService.Cloud\WebService.Cloud.ccproj]
Done executing task "CSPack" -- FAILED.
Done building target "CorePublish" in project "WebService.Cloud.ccproj" -- FAILED.
Done Building Project "C:\tfs\Product\WebService.Cloud\WebService.Cloud.ccproj" (Publish target(s)) -- FAILED.