IIS Web サーバーにデプロイしたい ASP.NET MVC Web アプリケーション プロジェクトがあります。サイト ツリーは次のように設定されます。
SERVERNAME(myDomain\Username)
Application Pools
Sites
Default Web Site
MyProjectSite
bin
Content
...
Views
MyProject サイトにデプロイしようとしています。私が使用している以下の設定と、返されているエラーを参照してください。どうやらサイトのパスを正しく指定していないようですが、私の人生では、それがどうあるべきかわかりません。
次の設定は、反復間で同じままです。
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=False /p:MSDeployPublishMethod=WMSvc /p:AuthType=Basic /p:Username="myUserName" /p:Password="MyPassword" /p:AllowUntrustedCertificate=True
IISAppPath として SiteName/ を指定します。
パラメーター:
/p:MsDeployServiceUrl="https://serverName:8172/MsDeploy.axd?Site=MyProjectSite" /p:DeployIisAppPath="MyProjectSite/"
エラー:
Could not complete an operation with the specified provider ("createApp") when connecting using the Web Management Service
- 新しいサイトを作成したくありません。既に存在するコンテンツを同期したい。
IISAppPath をルートとして指定します (URL のサイト名が使用されていると仮定します)。
パラメーター:
/p:MsDeployServiceUrl="https://serverName:8172/MsDeploy.axd?Site=MyProjectSite" /p:DeployIisAppPath="/"
エラー:
Could not complete an operation with the specified provider ("iisApp") when connecting using the Web Management Service
- 既定の Web サイトまたは何かにアクセスしようとしているようです (意図的に自分自身に権限を与えていません)。
IISAppPath を空の文字列として指定します (URL のサイト名が使用されていることを前提としています)。
パラメーター:
/p:MsDeployServiceUrl="https://serverName:8172/MsDeploy.axd?Site=MyProjectSite" /p:DeployIisAppPath=""
エラー:
The "ConcatFullServiceUrlWithSiteName" task was not given a value for the required parameter "SiteAppName"
- そのため、"" は実際には null 値として解釈され、連結の試行が中断されます。
URL にサイト属性を指定せず、SiteName/ を IISAppPath として指定します
パラメーター:
/p:MsDeployServiceUrl="https://serverName:8172/MsDeploy.axd" /p:DeployIisAppPath="MyProjectSite/"
エラー:
Could not complete an operation with the specified provider ("createApp") when connecting using the Web Management Service
URL にサイト属性を指定せず、SiteName を IISAppPath として指定する
パラメーター:
/p:MsDeployServiceUrl="https://serverName:8172/MsDeploy.axd" /p:DeployIisAppPath="MyProjectSite"
エラー:
Could not complete an operation with the specified provider ("createApp") when connecting using the Web Management Service
SiteAppName で連結を実行していることを考えると、それを Site 名と組み合わせているに違いありません。サイトをサイトのルートに同期させるために、そこに何を配置する必要がありますか?
アップデート
適切なパス スキームを把握するために、Visual Studio 2012 の [発行] ダイアログを使用して発行しようとしました。この場合、リクエストがタイムアウトしたというエラーが返されます (接続のテストはほぼ瞬時に機能し、変更のプレビューは機能しますが、数秒かかります)。イベント ログと wmsvc のトレース ログを確認しましたが、役に立ちませんでした。トレースを詳細に設定しても、トレースログには何も表示されません。両方のコンピューターでファイアウォールを無効にしようとしましたが、その面でも何も機能していないようです。