10

Jenkins デプロイメント ジョブをセットアップする際に、コマンド ラインから Visual Studio 2012 Web プロジェクトをデプロイしようとすると、このエラーが発生し続けました。

エラー MSB4044: "ConcatFullServiceUrlWithSiteName" タスクに、必須パラメーター "SiteAppName" の値が指定されていません

参考までに、私が使用したパラメータは次のとおりです。

/p:Configuration=Release /t:Rebuild  /p:VisualStudioVersion=11.0 /p:PublishProfile="DeployToDevServer" 
/p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish 
/P:AllowUntrustedCertificate=True /p:MSDeployPublishMethod=WMSvc
/p:MsDeployServiceUrl=https://devmachine.server.com:8172/MsDeploy.axd 
/p:username=domainhere\adminuserhere /p:password=adminpasshere

注: プロジェクト内で Publish... を選択すると、問題なく展開されます。

4

2 に答える 2

7

何度もグーグルで調べ、最終的にデプロイされるプロジェクトとデプロイされないプロジェクトを比較した後、.csproj ファイルをテキスト エディターで開いて比較した後、最終的にそれを理解しました。機能したプロジェクトで、次のセクションを見つけました。

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">

そして、次の行がありました:

<DeployIisAppPath>Default Web Site/sitenamehere</DeployIisAppPath>

この同じ行を非稼働プロジェクトに追加し、サイト名を変更したところ、機能しました。これが他の誰かに役立つことを願っています。

于 2013-08-09T17:30:20.400 に答える
6

DeployIisAppPath次のように、これをパラメーターとして Jenkins に 渡すことができp:DeployIisAppPath=Default Web Site/sitenamehere ます。これにより、異なるマシンで異なるサイト名を持つことができます。あなたの例では ( CSPROJ を変更した場合)、すべてのターゲット マシンで 1 つの IIS サイト名を使用する必要があります。

于 2013-08-15T14:22:53.200 に答える