为什么 webdeploy 不发送我的静态 HTML 文件?
Why isn't webdeploy sending across my static HTML file?
我有一个 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
- 网络部署 3
- ASP.NET 4.5
经过大量挖掘,我发现了这个问题。该文件不仅必须包含在项目中,而且还必须将其 Build Action 设置为 Content。它已被设置为 None.
我有一个 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
- 网络部署 3
- ASP.NET 4.5
经过大量挖掘,我发现了这个问题。该文件不仅必须包含在项目中,而且还必须将其 Build Action 设置为 Content。它已被设置为 None.