如何将Windows应用程序部署到较旧的.NET Framework

时间:2019-09-02 12:04:43

标签: c# asp.net .net-framework-version

我正在使用C#从Visual Studio 2017构建Windows应用程序。我有Windows 10系统,我的.NET Framework默认为4.7。但是我想在Windows 7和使用4.5 .NET Framework的系统中运行此应用程序。

因此,在构建此应用程序时,我已将其目标框架更改为4.5,同时还从app.config文件中更改了其支持的运行时。

enter image description here

enter image description here

下面是我的app.config文件:

  <?xml version="1.0" encoding="utf-8"?>
        <configuration>  
    <configSections>
    </configSections>
        <startup>
          <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>      
        </startup>    
        </configuration>

现在,当我尝试在Windows 7中运行此应用程序时,出现错误消息“此安装程序需要.NET Framework版本4.6.1。请安装.NET Framework并再次运行此安装程序。.NETFramework可以可以从网上获取。您现在要这样做吗? 然后,当我点击“是”按钮时。我收到错误消息“组件Microsoft .NET Framework 4.6.1(x86和x64)安装失败,并显示以下错误消息”“尝试安装Microsoft .NET Framework 4.6.1时发生故障”

enter image description here

enter image description here

6 个答案:

答案 0 :(得分:3)

这里至少发生两件事。

安装要求

看来,目标(Windows 7)计算机可能未安装4.5或更高版本的.NET Framework。如果是这样,安装程序将尝试安装v4.6.1,因为这是对4.0、4.5、4.5.1和4.5.2版本的就地升级。 (如here所述)。

或者,即使您的核心应用程序代码不需要,应用程序使用的一个或多个库或其他组件也需要版本4.6.1。

安装问题

安装问题可能是一个单独的问题。您是否检查了错误消息中提到的设置日志以查看更多详细信息?

答案 1 :(得分:2)

我已修复它,如果某人可能有相同的问题,我将其发布。我的客户端计算机问题是,它是窗口7,但未安装任何Service Pack。在其他要安装.NET Frame work V4.6.1的位置,您的系统必须是带有SP1的窗口7。我只是将SP1安装到客户端计算机窗口7,问题已解决,并且能够安装.NET Framework v4.6.1,因此我的软件正在运行。 XPath Axes。但是从VS 2017构建时,我还没有弄清楚如何使Windows应用程序以所需的.NET Framework为目标。

答案 2 :(得分:0)

您必须使用.NET 4.6.1检查是否有任何NuGet软件包。 在这种情况下,您也必须将它们降级。

答案 3 :(得分:0)

看看引用,也许某些库是.NET Framework版本v4.6.1

答案 4 :(得分:0)

如何构建应用程序的安装程序?也许您有某种情况可以检查已安装的.NET Framework版本。

答案 5 :(得分:0)

您必须在计算机上安装.NET Framework版本v4.6.1。 从以下链接中找到安装程序: https://www.microsoft.com/en-us/download/details.aspx?id=49982