所以,我知道这是一个非常基本的问题,但我想请教专家以确保。
我们有一个在应用服务器上运行的 .NET 应用程序,我们的用户使用工作站上的快捷方式启动它,该快捷方式通过 UNC 路径 (\AppServer01\Software\MainApp.exe) 指向主可执行文件。问题是这个应用程序不时崩溃,我可以在客户端的事件日志中看到存在应用程序崩溃,并且故障模块是 .NET 中的 dll。
我的问题是,当您从 UNC 路径启动 .NET 应用程序时,它会使用本地 .NET(客户端上的 .NET)还是远程 .NET 实例(AppServer01 上的 .NET)?
如果您不做任何花哨的事情并且它是一个真正的应用程序,它将利用本地 .NET 安装。如果您包含在服务器上运行的 Web 组件(例如使用 IIS 的 ASP.net),则将使用服务器上的 .NET。
此外请注意,您当然可能会引用托管在 UNC 路径上的程序集。因此,这实际上取决于该应用程序的实际编程方式。
我不确定是否有其他方法可以说服 .NET 使用远程程序集。看起来这篇文章从网络位置加载程序集可能对如何确定是否会加载远程程序集有更多的了解。
实际处理仍将使用本地安装在本地计算机上完成。