簡體   English   中英

如何發布ClickOnce應用程序的測試版?

[英]How to publish a beta version of a ClickOnce application?

我想在每次構建應用程序時發布它的beta版本,以便用戶可以訪問“ beta”版本並在常規發行版之前測試功能。

我嘗試通過在運行[product] -beta時覆蓋ProductName來做到這一點。 問題在於發布過程仍在創建[product] .application,似乎ClickOnce魔術不知道一個URL上的[product] .application和另一個URL上的[product] .application之間的區別。

關於如何解決這個問題的任何想法嗎?

我遇到了一個非常類似的問題,這是我想出的解決方案。

我將所有GUI表單都放入了一個DLL(包括主要的啟動表單)中。 然后,我創建了2個引用我的GUI dll的EXE項目。 一個名為產品,另一個命名為ProductBeta。
EXE中的代碼實際上在兩者之間是相同的。 即Application.Run(new MainForm())。

然后,我將它們設置為發布到同一共享的子目錄中。

這很煩人並且有一些開銷,但是結果效果很好。

如您所知,僅修改產品名稱是不夠的。 您需要修改程序集名稱。

來自http://weblogs.asp.net/sweinstein/archive/2008/08/24/top-5-secrets-of-net-desktop-deployment-wizards.aspx的詳細信息

最重要的是要支持多種環境-這不是內置的,並且如果您嘗試將具有相同部署名稱的兩個不同的ClickOnce構建部署到不同的站點,則最新的構建將具有優先權並有效覆蓋現有的部署。桌面。

解決方法相對簡單-您需要為每個構建提供不同的部署名稱。 像這樣-

<MSBuild 
   Projects="ClickOnce.csproj"
   Targets="Publish"
   Properties="
            MinimumRequiredVersion=$(MinimumRequiredVersion);
            ApplicationVersion=$(ApplicationVersion);
            ApplicationRevision=$(ApplicationRevision);
            CodeBranch=$(CodeBranch);
            DeployEnv=$(DeployEnv)
            AssemblyName=ClickOnce.$(DeployEnv);
            PublishUrl=$(PublishUrl);
            ProductName=ClickOnce $(CodeBranch) $(DeployEnv)" />

這種方法的局限性在於項目引用將不再起作用。 使用基於文件的程序集引用,就可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM