我在 C# ASP.NET Web 服务中使用本机 DLL (FastImage.dll),该服务有时会锁定(无法删除它——说访问被拒绝);这需要停止 IIS 以删除 DLL。无法删除我发布的 Web 服务的 bin 文件夹中的这个 DLL 使我无法成功发布(即使它认为它已成功发布!),这使得开发和修复 bug 变得困难(尤其是当它只是愉快地运行旧代码时,因为我更改可能不会反映在服务器上!)。请注意,导致 Web 服务轰炸和锁定 DLL 的错误在我的代码中,它在所述 DLL 之外,所以我认为这是一个比 FreeImage 库更普遍的问题(不要给它们带来任何热量)。
- 有没有人经历过这个?
- 有没有办法确保当它从 VS IDE 说“发布成功”时它真的意味着它,或者运行某种脚本来检查文件在尝试发布之前是否真的被删除(如预构建VC++ 中的步骤)。(现在我在发布之前手动删除了文件,以确保我知道 DLL 已被替换,而不是运行旧的 DLL。这仍然是一个问题,但如果我无法删除 DLL。)
- 如何检测文件是否已从批处理文件中成功删除?(所以如果失败,我可以停止并启动 IIS)
- 是否可以从脚本(最好从 VS IDE 中的 Publish... 操作)停止和启动 IIS,如果可以,如何?