我有一个检查程序集版本的方法,如果它已过时会覆盖它。要检测我正在使用以下代码的版本:
version = Type.GetType(typeName).Assembly.GetName().Version;
但是,如果我在尝试覆盖它时认为此版本已过期,则会出现以下错误
该进程无法访问该文件...因为它正由另一个进程使用。
在我看来,反映程序集的行为导致它加载到程序中,因此无法覆盖它。
我怎么能
答案 0 :(得分:2)
答案 1 :(得分:2)
按以下方式加载装配体的副本。
var assembly = Assembly.Load(File.ReadAllBytes("YourAssembly.dll"));
您现在可以覆盖磁盘上的程序集。
答案 2 :(得分:0)