我正在尝试在我的 WPF 应用程序中实现自动更新功能。所以我正在测试一个临时项目并遵循本指南。
这是我的MainWindow.xaml
:
<Window x:Class="AutoUpdate.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" Loaded="MainWindow_OnLoaded"
Title="MainWindow" Height="350" Width="525">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" TextElement.FontSize="20">
<TextBlock x:Name="CurrentVersion" Text="Loading..."/>
<TextBlock x:Name="NewVersion" />
</StackPanel>
</Window>
然后,我的xaml.cs
文件:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
{
using (var updateManager = new UpdateManager(@"C:\AutoUpdate\Releases"))
{
CurrentVersion.Text = $"Current version: {updateManager.CurrentlyInstalledVersion()}";
var releaseEntry = await updateManager.UpdateApp();
NewVersion.Text = $"Update Version: {releaseEntry?.Version.ToString() ?? "No update"}";
}
}
}
我做的唯一不同的事情是.nupkg
通过NugetPackageExplorer创建它。但是运行时出现以下错误:
找不到 Update.exe,不是 Squirrel 安装的应用程序?
需要什么Update.exe
?我在我localappdata
的应用程序中有它。可能缺少什么?