我有一个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,图像 - 都存在。
正在使用的工具:
答案 0 :(得分:0)
经过大量挖掘后,我发现了问题。该文件不仅必须包含在项目中,还必须将构建操作设置为内容。它已设置为无。