是否可以构建一个包含可使用标准 webdeploy 工具部署到 Web 服务器的 clickonce 应用程序的 Web 部署包?
这是理想的过程:
- MSBuild“YourFullyQualifiedProjectName.csproj/vbproj”/T:包
- obj\Debug\Package\YourFullyQualifiedProjectName.deploy.cmd /Y
其背后的原因是,我们可以构建包括 Web 包在内的整个解决方案,运行所有测试,然后仅在测试通过后进行部署。
我目前正在考虑对临时文件夹进行基于文件的部署,将其复制到 Web 项目中,然后打包该 Web 项目。有更简洁的解决方案吗?
我为此创建了一个博客:http://sedodream.com/2012/02/18/HowToCreateAWebDeployPackageWhenPublishingAClickOnceProject.aspx其中有更多详细信息,但相关部分如下
如果您有一个客户端项目,想要从中创建 ClickOnce 包,那么您可以尝试以下操作。
编辑您的客户端项目的项目文件并在底部添加以下内容(就在</Project>
tag).
<PropertyGroup>
<!--Unless specified otherwise, the tools will go to HKLM\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\1 to get the installpath for msdeploy.exe.-->
<MSDeployPath Condition="'$(MSDeployPath)'==''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3@InstallPath)</MSDeployPath>
<MSDeployPath Condition="'$(MSDeployPath)'==''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\2@InstallPath)</MSDeployPath>
<MSDeployPath Condition="'$(MSDeployPath)'==''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\1@InstallPath)</MSDeployPath>
<MSDeployExe Condition=" '$(MSDeployExe)'=='' ">$(MSDeployPath)msdeploy.exe</MSDeployExe>
</PropertyGroup>
<Target Name="CreateWebDeployPackage" AfterTargets="Publish" DependsOnTargets="Publish">
<!--
%msdeploy%
-verb:sync
-source:contentPath="C:\Temp\_NET\WebPackageWithClickOnce\WebPackageWithClickOnce\bin\Debug\app.publish"
-dest:package="C:\Temp\_NET\WebPackageWithClickOnce\WebPackageWithClickOnce\bin\Debug\co-pkg.zip"
-->
<PropertyGroup>
<Cmd>"$(MSDeployExe)" -verb:sync -source:contentPath="$(MSBuildProjectDirectory)\$(PublishDir)" -dest:package="$(OutDir)cotest.zip"</Cmd>
</PropertyGroup>
<Message Text="Creating web deploy package with command: $(Cmd)" />
<Exec Command="$(Cmd)" />
</Target>
在 PropertyGroup 中,我是:
- 声明 Web 部署包的名称
- 尝试查看 MSDeploy 的安装位置
之后定义了 CreateWebDeployPackage ,它将在 PublishOnly 目标(因为 AfterTargets="PublishOnly")。该目标将调用 msdeploy.exe 以在输出目录中创建包。您应该能够像发布任何其他包一样获取该包并发布它。
您可以尝试一下并告诉我它是否适合您吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)