.net 从程序集中加载并执行代码而不锁定文件?

.net 从程序集中加载并执行代码而不锁定文件?,.net,assemblies,.net,Assemblies,有没有一种方法可以从磁盘加载程序集并在其中执行代码,而不会将文件锁定在磁盘上?我一直不明白为什么需要锁定文件,因为代码将加载到RAM中并进行JIT编译?您正在寻找的是所谓的卷影复制。您必须创建一个新实例,并提供一个属性设置为字符串true的实例 此应用程序域将在加载程序集之前将其复制到临时位置。有关更多详细信息,请参阅。您要查找的是卷影复制。您必须创建一个新实例,并提供一个属性设置为字符串true的实例 此应用程序域将在加载程序集之前将其复制到临时位置。有关更多详细信息,请参阅。也可以使用加载程

有没有一种方法可以从磁盘加载程序集并在其中执行代码,而不会将文件锁定在磁盘上?我一直不明白为什么需要锁定文件,因为代码将加载到RAM中并进行JIT编译?

您正在寻找的是所谓的卷影复制。您必须创建一个新实例,并提供一个属性设置为字符串
true
的实例


此应用程序域将在加载程序集之前将其复制到临时位置。有关更多详细信息,请参阅。

您要查找的是卷影复制。您必须创建一个新实例,并提供一个属性设置为字符串
true
的实例


此应用程序域将在加载程序集之前将其复制到临时位置。有关更多详细信息,请参阅。

也可以使用加载程序集。该程序集没有“加载上下文”,您可以重复加载它。但是,管理它并不容易,您一定会发现。

您也可以使用它来加载程序集。该程序集没有“加载上下文”,您可以重复加载它。不过,管理这一点并不容易,您一定会发现。

这几乎只是一个标准的操作系统功能,用于锁定用户使用的基于文件的资源process@Pierreten:在Unix中,您可以在共享库正在使用时取消链接并替换它们。因为现有进程有一个打开的文件句柄,所以在每个使用原始.so文件的进程终止之前,底层inode不会被获取。这几乎只是一个标准操作系统功能,用于锁定用户使用的基于文件的资源process@Pierreten:在Unix中,您可以在共享库正在使用时取消链接并替换它们。因为现有进程有一个打开的文件句柄,所以在每个使用原始.so文件的进程终止之前,底层inode不会被获取。