【发布时间】:2011-02-20 21:41:31
【问题描述】:
参考这个问题:System.Reflection.Assembly.LoadFile Locks File
System.IO.File.ReadAllBytes(path) 不会工作,因为它不是一个独立的库,它有很多依赖项。
此解决方案 (http://www.eggheadcafe.com/software/aspnet/35494668/shadow-copies-how.aspx) 也不起作用,因为我正在编写 Visual Studio 插件,并且无法访问 Main 方法。
这里的第二个答案(Can I make the default AppDomain use shadow copies of certain assemblies?)也不起作用,因为评论中描述的问题,我需要能够反复重新加载给定的程序集并始终看到最新版本,但我仍然 必须能够在不退出运行我的插件的 Visual Studio 实例的情况下重建程序集。
我有什么选择?
【问题讨论】:
-
祝你好运,一定要穿防弹背心,你要去一个危险的街区。
-
使用两个 Visual Studio 实例,一个用于构建,另一个用于测试。根据需要重新启动第二个。
-
当前使用一种解决方法:将加载程序集的代码移动到控制台 exe 中,并将 exe 复制到固定位置(从插件配置设置),然后我在该固定位置调用 AppDomain.ExecuteAssembly位置,然后卸载该 AppDomain ...(并且该 appdomain 使用 shadowcopy 只是为了安全:))
标签: .net visual-studio-2010 reflection add-in