鉴于我在生成文件后构建过程\bin\out
我如何可以使用的MSBuild目标文件指出,在该目录中的所有文件(递归)应该在网页发布部署?
Answer 1:
让我们分成两个部分这样的:
首先,构建Web项目:
<Target Name="BuildWeb">
<MSBuild Projects="WebExtranet\WebExtranet.csproj"
Properties="Configuration=$(Environment);DeployOnBuild=True;CreatePackageOnPublish=True;BaseIntermediateOutputPath=..\$(DistDir)\Web\" />
</Target>
然后用这个发布到本地IIS(你可能需要调整msdeploy命令,以满足您的需求)
<Target Name="DeployWeb">
<ItemGroup>
<PackageSourceDir Include='$(DistDir)\Web\$(Environment)\Package\WebExtranet.zip' />
</ItemGroup>
<Message Text="Package path: %(PackageSourceDir.FullPath)" />
<Exec Command=""c:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -allowUntrusted -source:package="%(PackageSourceDir.FullPath)" -setParam:'IIS Web Application Name'='My Web App' -dest:auto"/>
</Target>
常见的问题:
- 该版本的MSBuild是很重要的。 我使用的是V3。
- 你必须有IIS已经创建的Web应用程序。 只需要做一次。
请注意,$(环境)变量是构建配置。 我有几个,但运行的第一个目标,并检查创建的文件夹结构。 然后调整脚本。
文章来源: How to create MSBuild targets file to deploy files?