为什么不通过我的静态HTML文件发送webdeploy?

时间:2015-02-19 21:17:45

标签: asp.net visual-studio-2012 msbuild webdeploy

我有一个ASP.NET应用程序,它分为两个子项目:静态Web前端和API层。这些是单独构建和部署的。

我们正在使用MSBUILD和Web Deploy将构建发送到我们的QA服务器,除了静态HTML之外,所有内容都被正确复制。它从未包含在包中。

以下是简化的项目结构:

/javascript
/img
/lib
bower.json
gruntfile.js
index.html
package.json
Web.csproj
Web.config

这是执行实际部署的命令行:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe ^
    Project\Web.csproj ^
    /target:Rebuild ^
    /p:DeployIisAppPath=project-web ^
    /p:SiteAppName=project-web ^
    /p:Configuration=QA ^
    /p:OutputPath=package ^
    /p:DeployOnBuild=True ^
    /p:DeployTarget=MSDeployPublish ^
    /p:MsDeployServiceUrl=https://server:8172/msdeploy.axd ^
    /p:username=BUILDUSER ^
    /p:password=******** ^
    /p:AllowUntrustedCertificate=True ^
    /p:MSDeployPublishMethod=WMSvc

部署运行后,这就是目标服务器上的内容:

/bin
/javascript
/img
/lib
bower.json
gruntfile.js
package.json
Web.config

如您所见,index.html文件丢失了。所有其他资产 - JavaScript,CSS,图像 - 都存在。

正在使用的工具:

  • Visual Studio 2012
  • Web Deploy 3
  • ASP.NET 4.5

1 个答案:

答案 0 :(得分:0)

经过大量挖掘后,我发现了问题。该文件不仅必须包含在项目中,还必须将构建操作设置为内容。它已设置为

Screen shots showing the properties panel