更新生产 ASP.NET 网站 bin 文件夹中的 DLL

2024-02-10

我想更新生产 Web 应用程序中的类库(单个 DLL 文件)。该网络应用程序已预编译(已发布)。我在 StackOverflow 上读到了一个答案(抱歉,似乎找不到它了,因为搜索功能不能很好地工作),这让我相信我可以将新的 DLL 粘贴到 bin 文件夹中,然后它就会被选中没有问题(这会导致 WP 回收,这对我来说没问题,因为我们不使用 InProc 会话状态)。

但是,当我尝试此操作时,我的网站崩溃并给出 FileLoadException,指出程序集清单定义与程序集引用不匹配。这到底是什么?!在 Visual Studio 中更新 DLL 并重新部署整个站点工作得很好,但后面却是一个巨大的痛苦。如果必须重新部署整个站点才能实现任何更改,那么拥有单独的 DLL 有何意义?

问题是:如何在不破坏应用程序且不重新部署所有文件的情况下更新生产网站上的 DLL?


要记住的是,有网站 and 网络应用程序就 Visual Studio 和 ASPNET 而言。

网站通常将所有 aspx 和 vb 文件发布到实时服务器,并且 ASPNET Worker Process 每次在演示之前都会重新编译应用程序。

另一端是 Web 应用程序,其中所有代码隐藏文件都被编译为单个 DLL 文件,您只需将 aspx 页面和包含 DLL 文件的 bin 文件夹部署到生产环境即可。

还有一种“混合体”,称为“预编译网站 http://msdn.microsoft.com/en-us/library/ms227430(v=VS.85).aspx“(请参阅官方 MSDN 概述的链接),您没有 Web 应用程序的单个 DLL 布局,但网站的所有编译工作都为您完成。有几种“模式”,具体取决于您的需要。

在我看来,您的错误是由于您的网站被设置为带有某种预编译的网站而引起的。使用预编译模型更加“严格”,因为它假设某些文件/签名已就位。 DLL 文件的更新版本会导致中断,因为预编译需要文件的名称和版本。

如果可能的话,最好的选择是转换为 Web 应用程序,因为您可以毫无问题地将附加 DLL 添加到生产中。否则,请看一下这个矩阵 http://msdn.microsoft.com/en-us/library/ms227430(v=VS.85).aspx查看您的应用程序需要哪种形式的预编译。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更新生产 ASP.NET 网站 bin 文件夹中的 DLL 的相关文章

  • iTextSharp 从一页模板高效批量生成 PDF

    我正在使用 ITextSharp 生成多页 PDF 每个页面都有相同的模板 问题是 PDF 的物理大小会随着模板的大小而增长 I HAVE to use 阿克罗菲尔德 我怎么能够reduce最终文件大小 这是 pdf 处理程序的代码片段 p
  • 使用 Lambda 表达式从字段名称中选择不同的字段

    我需要从数据库表中获取两个字段 使用 linq to sql 检索 一个字段是日期时间 并且是固定字段 另一个字段始终是十进制 但该字段可以不同 该表保存的货币数据每天以不同的货币处理两次 因此可能具有 AM USD PM USD AM E
  • Maven“部署”导致签名操作后代码重新打包(BAD 签名)

    我想将一个工件部署到 Sonatype OSS 存储库 当我使用以下命令进行部署时 签名无效 mvn clean source jar javadoc jar install gpg sign deploy gt gpg verify ta
  • 我应该使用哪个命令来缩小和优化 Nodejs Express 应用程序?

    我已经准备好 Express generator sccafold 网站并需要发布它 我应该使用哪个命令来缩小文件并优化发布 另外 我应该上传哪些目录 express generator是一个基于express框架的服务端渲染框架 而不是像
  • 将下一个 JS + Sanity 项目部署到 Vercel 时出现问题

    我在一个项目中并理智地使用了 nextjs 但在几乎完成我的项目后 我只是看不到任何部署它的方法 学习理智花了相当多的时间 但如果我不能在任何地方使用它 那还有什么意义呢 我安装了 vercel 并运行vercel build这就是它向我展
  • 如何在 ASP.NET MVC 中手动设置用户角色?

    我正在从事的这个项目要求我保留管理员用户的本地数据库 并为普通用户使用外部数据库 在管理数据库中通过身份验证的任何人都应被分配 管理员 角色 而通过其他数据库进行身份验证的任何人将始终被分配 用户 角色 我可以手动分配这些角色吗 我不需要角
  • 在 Asp.Net 中以编程方式添加样式表

    我想以编程方式在头部添加样式表 但我看到的示例之一似乎需要多行代码才能添加一个样式表 即使我可能需要很多 示例代码 HtmlLink css new HtmlLink css Href css fancyforms css css Attr
  • asp.net/jQuery:使用 jQuery 将数据发布到弹出窗口 [IE]

    我正在尝试在 asp net 应用程序中使用 jQuery 将数据发布到弹出窗口 如果弹出窗口打开 我会收到三个错误 第一个错误是 Errror the value of the property is null or undefined
  • ASP.NET 项目在移动到另一台计算机时抛出 HTTP 错误 500.19

    我将一个 3 层 ASP NET 项目从运行 Visual Studio 2010 的系统复制到也运行 Visual Studio 2010 的系统 当我右键单击并选择浏览器中位于 UI 层下的文件夹内的文件上的视图时 我得到错误 HTTP
  • 是否可以让 Capistrano 通过反向 SSH 隧道进行结帐?

    我正在开发一个驻留在公共主机上的应用程序 但我必须将其源代码保存在公司防火墙后面的 Git 存储库中 我越来越very厌倦了通过缓慢的部署scp 复制整个存储库并在每次部署时通过 SSH 传送 并且希望远程主机只需执行git pull更新
  • 使用 SendMessage 通过电子邮件发送文件附件而不保存文件

    我可以发送电子邮件和所有内容 但无法创建有效的 Attachment 放入我的电子邮件中 我在网上找到的所有示例都假设它以某种方式保存在我的计算机本地并通过路径链接它 但事实并非如此 在我的方法中 我使用 Winnovative 创建文件
  • OWIN中间件可以使用http会话吗?

    我有一些为 ASP NET 和 SignalR 复制的代码 我决定将其重写为 OWIN 中间件以删除这些重复 一旦我运行它 我注意到HttpContext Current Session为空 并且我没有看到任何会话对象IOwinContex
  • 限制违反架构 - asp.net MVP

    如果我们在应用程序中定义了层次结构 对于前三层架构 我们如何限制后续开发人员违反规范 例如 在 MVP 不是 ASP NET MVC 架构的情况下 演示者应该始终绑定模型和视图 这有助于编写正确的单元测试程序 然而 我们也遇到过这样的情况
  • Angular2通用部署到apache远程服务器

    我在将 Web 应用程序部署到 Apache 远程服务器时遇到问题 我已经通过以下步骤部署了一个使用 RESTful API 服务 用 PHP 编写 托管在 public html api 的标准 Angular2 Web 应用程序 在项目
  • 如何在 asp.net 网站中使用 aspnetdb 数据库

    我使用 asp net 3 5 创建了一个网站 现在我使用 Membership API 和 aspnetdb 数据库为其添加了会员支持 我已经在本地机器上完成了所有测试 现在 在将该站点上传到服务器时 需要考虑与 aspnetdb 有关的
  • Nginx 位置、别名、重写、根

    我正在通过 proxypass 提供 foo bar 服务 并希望继续这样做 但是 我想从 var www mystatic baz swf 等静态地提供 foo bar baz swf 服务 我希望我能做类似的事情 location fo
  • 当用户告诉浏览器“刷新”时,是否应该填写 HTTP_REFERER?

    我正在尝试使用引用标头检查作为深度防御 即多种安全技术之一 但请注意仅依赖于任何一种技术 有时 MSIE 似乎不包含刷新时的引荐来源网址 这是预期的行为吗 无论如何 我是否可以检测刷新 以便我知道缺少引荐来源网址是可以的 是的 我知道引荐来
  • 为什么我不能将一个非 const 指针传递给一个函数,该函数将以对 const 指针的引用作为其参数

    这是一个代码片段 希望能够传达我想要做的事情 void updatePointer const int i i int main int array 5 int arrayPtr array updatePointer arrayPtr r
  • 有没有办法使用 ASP.NET 在用户离开页面时始终运行某些服务器端代码?

    我想知道当用户离开 ASP NET 中的页面时是否有任何方法可以始终运行一些服务器端代码 页面卸载事件不好 因为如果有人单击链接 则不会调用该事件 理想情况下 即使用户关闭浏览器 我也希望代码能够运行 我怀疑我所问的问题是不可能的 但问一下
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u

随机推荐