首页 > 解决方案 > 如何在松鼠窗口中检索 FutureReleaseEntry 发行说明?

问题描述

嗨,我开始在我的应用程序中使用 squirrel,我可以从网络位置顺利更新我的应用程序(我放置设置、版本的位置)

我想获得未来版本的发行说明。我可以获得未来版本的版本号,但是我无法获得它的发行说明。

这是我的代码

using (var mgr = new UpdateManager(@"http://mysamplewebsite.com/version/"))
{
               var updateInfo = await mgr.CheckForUpdate();

                if (updateInfo.ReleasesToApply.Any())
                {
                    string futureVersion = updateInfo.FutureReleaseEntry.Version.ToString();
                   //GOOD
                    MessageBox.Show(futureVersion);

                   var futureReleaseNotesLocalDirectory = updateInfo.FutureReleaseEntry.GetReleaseNotes(@"C:\Users\source\repos\UpdateAppTesting\Releases");
                    //GOOD I can even get the release notes in my local directory
                    MessageBox.Show(futureReleaseNotesLocalDirectory);


                 //giving me an error of URI FORMATs are not supported
                  var futureReleaseNotesWEBLocation = updateInfo.FutureReleaseEntry.GetReleaseNotes(@"http://mysamplewebsite.com/version/");
                    MessageBox.Show(futureReleaseNotesWEBLocation);
                }
                else
                {
                    MessageBox.Show("No updates detected.");
                }
}

虽然我可以通过目录获取更新的发行说明,但我无法通过 Web url 位置获取发行说明。

Web url 位置有效,因为我可以获得未来版本的版本号。但是当我试图获取发行说明时,它给了我一个 不支持 URI FORMATs的错误

希望有人可以帮助我,因为发布说明对于用户了解应用程序的新更新/更改是非常重要的。谢谢

标签: c#squirrel.windows

解决方案


TL;博士

updateInfo.FutureReleaseEntry.GetReleaseNotes(updateInfo.PackageDirectory)

首先,您必须使用

mgr.DownloadReleases(updateInfo.ReleasesToApply)

或者

mgr.UpdateApp()

nuget 包存储在packagesApp 根目录下的文件夹中。

您可以像这样访问该文件夹

updateInfo.PackageDirectory

并获取发行说明

updateInfo.FutureReleaseEntry.GetReleaseNotes(updateInfo.PackageDirectory)

但这意味着您必须先下载整个版本才能访问发行说明


推荐阅读