我已經創造了這個博客在http://sedodream.com/2012/02/18/HowToCreateAWebDeployPackageWhenPublishingAClickOnceProject.aspx其中有更多的細節,但相關部件均低於
如果你要創建一個ClickOnce包出來的,那麼你可以試試下面的客戶機項目。
編輯客戶項目的項目文件,並在底部(</Project>
標記正上方)添加以下內容。
<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\[email protected])</MSDeployPath>
<MSDeployPath Condition="'$(MSDeployPath)'==''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\[email protected])</MSDeployPath>
<MSDeployPath Condition="'$(MSDeployPath)'==''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\[email protected])</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來在輸出目錄中創建包。您應該能夠像使用任何其他軟件包一樣獲取該軟件包並進行發佈。
你可以試試看,讓我知道它是否適合你?
您是否想創建一個僅包含ClickOnce內容的Web Deploy包,或者是否希望將其包含到爲Web項目生成的Web Deploy包中(即解決方案中的一個不同項目是一個Web項目) ? – 2012-02-17 05:51:55
只是我需要部署的ClickOnce內容。 – danielrbradley 2012-02-17 09:11:35