gpt4 book ai didi

asp.net - IIS 应用程序池 bin 与 *.vb

转载 作者:行者123 更新时间:2023-12-02 03:39:40 26 4
gpt4 key购买 nike

我正在继承一个让我非常困惑的网站的支持。该网站混合了经典的 ASP 和 .Net,其中一些“.Net”实际上是某种转换过程的一部分,因此没有代码隐藏,它都是内联代码,就像 PHP 或经典的 ASP .当前的开发人员(参与 4 年以上)告诉我任何 .Net 都反对 1.0。根据我的理解,他的发布例程涉及直接复制他的开发目录的内容(与实际发布相比),因此所有 *.vb 文件(包括包含它们的页面的 *.designer.vb 文件)都是全部投入生产。

让我非常困惑的地方是我知道 .Net 1.0 与 .Net 2.0 高度不兼容,因为它们在两个版本之间所做的所有重大更改。我想弄清楚的是,如果 vbproj 文件说它指向 VS 2002 的版本号,则 bin 目录中的 DLL 都引用 1.0.5000.0 用于 mscorlib 引用(系统等),但应用程序池是为 .Net 2.0 配置的 IIS 是否真的忽略了它会从 bin 目录中读出的内容,而是动态地从 .vb 文件中提取代码?我知道 VS 的"new"(当时)网站选项(相对于 Web 应用程序)是在动态编译中引入的,但我不知道这是否发生在这里或不在幕后。事情变得更加模糊的地方是作为这个过程的一部分,我试图将网站迁移到我拥有的一组新服务器,当我在 IIS 中创建网站时,我什至没有关注应用程序池,所以默认是指定的是 .Net 4。我们的客户服务人员正在新机器上测试网站,一切正常。

我不知道这是否需要放在 StackOverflow 或 ServerFault 中,但选择了 SO,因为它与编程非常相关。有没有人对所有这些如何运行有任何建议?

最佳答案

您必须在此处处理许多项目清理问题。

  1. 我会确保您在开始更改之前在源代码管理中拥有解决方案,以便您可以根据需要回滚。
  2. 在任何项目中,您都可以从多个版本中引用 .NET BCL 函数,因为并非每个版本都会更新所有函数。我会删除任何使用 1.1 的东西,并将它们重构为更新的版本。
  3. 首先删除所有未使用的项目引用,这样您就知道自己在处理什么。参见 http://msdn.microsoft.com/en-us/library/vstudio/7sfxafba(v=vs.100).aspx
  4. 使用一些第 3 方工具(如 Resharper 或 CodeRush)有助于快速清理代码。
  5. 查看 IIS 应用程序池设置,确认解决方案在哪个版本的 .NET 框架下运行,以确认站点正在使用的 .NET 框架的实际版本。参见 http://msdn.microsoft.com/en-us/library/bb909693(v=vs.90).aspx .这些说明将根据运行 IIS 的服务器以及您在开发/测试/生产中运行的 IIS 版本而有所不同。

关于asp.net - IIS 应用程序池 bin 与 *.vb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20874944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com