发布WPF应用程序

发布WPF应用程序,wpf,.net-core,publish,Wpf,.net Core,Publish,当我发布我的应用程序时,它在我的计算机上运行良好,但是当我尝试在另一台计算机上运行它时,它总是要求我下载特定的.net核心运行时。我的目标框架是3.1,它一直要求3.1.4运行时或安装3.1.0运行时。我下载了一个更新版本的.NETCoreSDK,它与运行时(3.1.300)一起使用,但仍然没有改变。我也尝试将.netcore框架更改为3.1.3,但它仍然显示3.1,可能是因为3.1.3是3.1的一部分。除了在其他用户计算机上安装3.1.0之外,不确定如何解决此问题 以下是我的csproj:

当我发布我的应用程序时,它在我的计算机上运行良好,但是当我尝试在另一台计算机上运行它时,它总是要求我下载特定的.net核心运行时。我的目标框架是3.1,它一直要求3.1.4运行时或安装3.1.0运行时。我下载了一个更新版本的.NETCoreSDK,它与运行时(3.1.300)一起使用,但仍然没有改变。我也尝试将.netcore框架更改为3.1.3,但它仍然显示3.1,可能是因为3.1.3是3.1的一部分。除了在其他用户计算机上安装3.1.0之外,不确定如何解决此问题

以下是我的csproj:


温克斯
netcoreapp3.1
VRI_配置器
真的
KHVT.png
KHVT.png
VRI_configurator.App
真的
真的
真的
Resources.resx
ResXFileCodeGenerator
Resources.Designer.cs

如果您不希望最终用户需要安装.NET Core runtime才能运行您的应用程序,您可以将其作为一个独立的应用程序发布,我们将不胜感激

在Visual Studio中的发布向导中,单击配置文件下的“编辑”或“新建”,将部署模式更改或设置为“自包含”,并将目标运行时更改或设置为
win-x86
win-x64

这将生成一个包含.NET核心运行时和库、应用程序及其依赖项的应用程序。然后,应用程序的用户可以在未安装.NET核心运行时的计算机上运行它

有关更多信息,请参阅文档:


经过一番搜索,我找到了问题的解决方案,我将下面的xml添加到PropertyGroup下的csproj文件中。现在,它希望在用户计算机上安装3.1.4或更低版本的运行时框架,而不再搜索3.1.0

<RuntimeFrameworkVersion>3.1.4</RuntimeFrameworkVersion>
3.1.4

您能编辑您的问题并添加您的csproj吗?这可能与csproj的定义方式有关。在发布配置文件中,您可以将部署模式切换为“自包含”。该设置会将所有必需的运行时文件与应用程序捆绑在一起。如果您编译32位并安装64位版本的框架,您可能会遇到此类问题,反之亦然。我已经尝试过了,但它给我留下了一个巨大的文件,不幸的是,在我的情况下,它实际上不是一个选项。