将在新服务器上使用ASP.NET 4.0网站工作,该服务仅支持ASP.NET 4.8框架

发布于 2025-01-22 04:58:20 字数 2011 浏览 3 评论 0 原文

我有一个旧网站,该网站是在.NET Framework 4.0上开发的,客户希望将此网站移至支持.NET 4.8框架的新服务器。

恐怕网站是否会在.NET 4.8框架上正常工作,因为我不确定是否存在完整的向后兼容性。

不幸的是,我无法对其进行测试,因为我无法访问新服务器。

我的理解是它应该起作用,我应该将框架指向4.8,在web.config中的cide下方。 < compilation debug =“ true” targetFramework =“ 4.8”> 我希望休息能够正常工作,例如< add assembly =“ system.web.extensions.design ..... 。,因为它们都指向4.0

<compilation debug="true" targetFramework="4.5" >
  <assemblies>
    <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
    <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <!--  assembly doesnt work on MochaHost
     <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
     -->
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <add assembly="Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />
    <add assembly="Microsoft.Office.Interop.Word, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />
    <!---->
  </assemblies>
</compilation>

I have an old website which was developed on .Net Framework 4.0 and client wants to move this website to new server which supports .Net 4.8 Framework.

I am afraid if website will work properly on .Net 4.8 framework as i am not sure if there is full backward compatibility.

Unfortunately i cant test it as i don't have access to new server.

My understanding is it should work and i should point framework to 4.8 in below line of cide in web.config
<compilation debug="true" targetFramework="4.8" > i hope rest will work such as <add assembly="System.Web.Extensions.Design...... as all of them point to 4.0

<compilation debug="true" targetFramework="4.5" >
  <assemblies>
    <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
    <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <!--  assembly doesnt work on MochaHost
     <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
     -->
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <add assembly="Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />
    <add assembly="Microsoft.Office.Interop.Word, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />
    <!---->
  </assemblies>
</compilation>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

¢好甜 2025-01-29 04:58:20

.NET 4.8是.NET 4.0上的“扩展”。 Microsoft尝试向后兼容,您可以检查 https://lealen.microsoft.com/en-us/dotnet/framework/migration-guide/runtime/4.0-4.8 查看如果您运行网站(或其他任何其他程序)(或任何其他程序中的任何其他程序) .NET 4.0)在.NET 4.8运行时。大多数打破变化都有一个可以返回旧行为的开关,请参见上面的链接。

您甚至不必更改配置中的目标框架。更改&lt;编译targetFrameWork =“ 4.8”&gt; 将导致网站在第一个请求下根据4.8(如果尚未预先编译)进行编译,该请求具有其自己的集合可以在页面上查看的更改

如有疑问,您可以在测试计算机或本地计算机上安装IIS,在新服务器上发布之前配置网站并进行测试。

.NET 4.8 is an 'extension' on .NET 4.0. Microsoft tries it's best to be backwards compatible, you can check https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/runtime/4.0-4.8 for seeing what can break if you run your website (or any other program compiled in .NET 4.0) on the .NET 4.8 runtime. Most breaking changes have a switch that you can return to the older behavior, see the link above.

You don't even have to change the target framework in the config. Changing the <compilation targetFramework="4.8" > will cause the website to be compiled under 4.8 (if it hasn't been pre-compiled) on the first request, which has it's own set of changes that can be viewed on the page https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/retargeting/4.0-4.8.

In case of doubt, you can install IIS on a test computer or your local computer, configure the website and test before you release on the new server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文