我正在尝试(主要是看看是否可以完成)替换 ASP.net 应用程序中的 dll 文件。为了让事情更有趣,我要替换的文件是(至少在一定程度上)包含如何替换它的逻辑的同一个文件。
我已经能够替换项目中的几乎所有文件,除了正在运行的 dll 文件,目前我有点卡住了。
首先,这不是应该经常执行的事情,因此可伸缩性不是问题(是否需要一分钟左右无关紧要)。其次,我不想使用 Windows 服务。
实现此目的(不使用 Windows 服务)的唯一方法(我尚未尝试,但将开始尝试)是创建一个由 ASP.net 应用程序启动的应用程序。然后 ASP.net 应用程序会自行关闭(使用类似的东西HttpRuntime.UnloadAppDomain();
),希望这会解锁文件。然后应用程序换出 dll 文件。但是我认为必须有其他可能的方法来实现这一点。
所以我要问的基本上是关于如何解决这个问题的想法,因为我即将用完我的。